[SCSI] zfcp: fix deadlock caused by shared work queue tasks
commitb7f15f3c94196accac799727502ed88a029ae7ef
authorSwen Schillig <swen@vnet.ibm.com>
Wed, 1 Oct 2008 10:42:22 +0000 (1 12:42 +0200)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Fri, 3 Oct 2008 17:11:55 +0000 (3 12:11 -0500)
treed620f4cc0fe75ca43b48a675fb7bd681cb7919f3
parent57069386699994c3e67042fc4928c418f3a39e01
[SCSI] zfcp: fix deadlock caused by shared work queue tasks

Each adapter reopen trigger automatically a scan_port task which
is waiting for the ERP to be finished before further processing.
Since the initial device setup enqueues adapter, port and LUN which
are individual ERP actions, this process would start after
everything is done. Unfortunately the port_reopen requires another
scheduled work to be finished which is queued after the automatic
scan_port -> deadlock !

This fix creates an own work queue for ERP based nameserver requests.

Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/s390/scsi/zfcp_aux.c
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_erp.c
drivers/s390/scsi/zfcp_fsf.c