linux/drivers/s390/scsi
Christof Schmitt 5f852be9e1 [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI
The SCSI stack requires low level drivers to register and
unregister devices. For zfcp this leads to the situation where
zfcp calls the SCSI stack, the SCSI tries to scan the new device
and the scan SCSI command fails. This would require the zfcp erp,
but the erp thread is already blocked in the register call.

The fix is to make sure that the calls from the ERP thread to
the SCSI stack do not block the ERP thread. In detail:
1) Use a workqueue to avoid blocking of the scsi_scan_target calls.
2) When removing a unit make sure that no scsi_scan_target call is
   pending.
3) Replace scsi_flush_work with scsi_target_unblock. This avoids
   blocking and has the same result.

Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-05-08 11:55:33 -05:00
..
Makefile [SCSI] zfcp: enhancement of zfcp debug features 2005-09-19 13:03:00 -05:00
zfcp_aux.c [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI 2007-05-08 11:55:33 -05:00
zfcp_ccw.c [SCSI] zfcp: remove zfcp_ccw_unregister function 2006-09-23 17:49:52 -05:00
zfcp_dbf.c [S390] Avoid excessive inlining. 2007-02-05 21:18:53 +01:00
zfcp_def.h [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI 2007-05-08 11:55:33 -05:00
zfcp_erp.c [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI 2007-05-08 11:55:33 -05:00
zfcp_ext.h Merge branch 'linus' 2007-02-10 13:45:43 -06:00
zfcp_fsf.c [SCSI] zfcp: Locking for req_no and req_seq_no 2007-05-08 11:55:19 -05:00
zfcp_fsf.h [SCSI] zfcp: (cleanup) removed superfluous macros, struct members, typedefs 2006-05-28 12:43:33 -04:00
zfcp_qdio.c [SCSI] zfcp: Stop system after memory corruption 2007-05-08 11:19:50 -05:00
zfcp_scsi.c [SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI 2007-05-08 11:55:33 -05:00
zfcp_sysfs_adapter.c [SCSI] zfcp: (cleanup) shortened copyright and author information 2006-05-28 12:36:02 -04:00
zfcp_sysfs_driver.c [SCSI] zfcp: (cleanup) shortened copyright and author information 2006-05-28 12:36:02 -04:00
zfcp_sysfs_port.c [SCSI] zfcp: (cleanup) shortened copyright and author information 2006-05-28 12:36:02 -04:00
zfcp_sysfs_unit.c [SCSI] zfcp: (cleanup) shortened copyright and author information 2006-05-28 12:36:02 -04:00