aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_erp.c
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2007-12-20 06:30:25 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-11 19:29:05 -0500
commit3f0ca62add34010241db682e63bb68ba765bf4a9 (patch)
tree941218ee69ebe014cbd913e3ac33861b976415f9 /drivers/s390/scsi/zfcp_erp.c
parent951f746fece2e24a26853b3872d16e9013b6fe0b (diff)
[SCSI] zfcp: Hold queue lock when checking port handle for ELS command
We need to hold the queue-lock when checking whether we still have a valid port handle for the ELS command, i.e whether we can issue this request for this port. If the error recovery is about to close this port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this port has been blocked for other requests. Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: Martin Peschke <mp3@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_erp.c')
-rw-r--r--drivers/s390/scsi/zfcp_erp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 76fef3f6387e..4f86c0e12961 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -456,7 +456,7 @@ zfcp_test_link(struct zfcp_port *port)
456 456
457 zfcp_port_get(port); 457 zfcp_port_get(port);
458 retval = zfcp_erp_adisc(port); 458 retval = zfcp_erp_adisc(port);
459 if (retval != 0) { 459 if (retval != 0 && retval != -EBUSY) {
460 zfcp_port_put(port); 460 zfcp_port_put(port);
461 ZFCP_LOG_NORMAL("reopen needed for port 0x%016Lx " 461 ZFCP_LOG_NORMAL("reopen needed for port 0x%016Lx "
462 "on adapter %s\n ", port->wwpn, 462 "on adapter %s\n ", port->wwpn,