浏览代码

[S390] qdio: free indicator after reset is finished

The qdio device indicator is freed before the device is notified that
the indicator is reset. This sequence contains a race when the freed
indicator is used by a new device while the reset of the indicator is
still pending. Do the reset operation before freeing the indicator to
avoid that potential race.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Jan Glauber 14 年之前
父节点
当前提交
4814a2b3c6
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/s390/cio/qdio_thinint.c

+ 1 - 1
drivers/s390/cio/qdio_thinint.c

@@ -292,8 +292,8 @@ void qdio_shutdown_thinint(struct qdio_irq *irq_ptr)
 		return;
 		return;
 
 
 	/* reset adapter interrupt indicators */
 	/* reset adapter interrupt indicators */
-	put_indicator(irq_ptr->dsci);
 	set_subchannel_ind(irq_ptr, 1);
 	set_subchannel_ind(irq_ptr, 1);
+	put_indicator(irq_ptr->dsci);
 }
 }
 
 
 void __exit tiqdio_unregister_thinints(void)
 void __exit tiqdio_unregister_thinints(void)