[SCSI] zfcp: fix bug during adapter shutdown
authorAndreas Herrmann <aherrman@de.ibm.com>
Mon, 13 Jun 2005 11:20:35 +0000 (13:20 +0200)
committerJames Bottomley <jejb@mulgrave.(none)>
Tue, 14 Jun 2005 02:32:48 +0000 (21:32 -0500)
commit1db2c9c0931a53fe013db55fd2ff58859db31e8d
tree1134627ac98d91896dcdb161d5df7ecef60a4de3
parent64b29a130901d5b8578e9f602cf2dae56aaff224
[SCSI] zfcp: fix bug during adapter shutdown

Fixes a race between zfcp_fsf_req_dismiss_all and
zfcp_qdio_reqid_check. During adapter shutdown it occurred that a
request was cleaned up twice. First during its normal
completion. Second when dismiss_all was called.  The fix is to
serialize access to fsf request list between zfcp_fsf_req_dismiss_all
and zfcp_qdio_reqid_check and delete a fsf request from the list if
its completion is triggered.  (Additionally a rwlock was replaced by a
spinlock and fsf_req_cleanup was eliminated.)

Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/s390/scsi/zfcp_aux.c
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_erp.c
drivers/s390/scsi/zfcp_ext.h
drivers/s390/scsi/zfcp_fsf.c
drivers/s390/scsi/zfcp_qdio.c
drivers/s390/scsi/zfcp_scsi.c