diff options
author | 2010-08-30 10:55:09 +0200 | |
---|---|---|
committer | 2010-09-09 15:36:44 -0500 | |
commit | 91978465b1e5f89025cd43cd2102943160ec6dee (patch) | |
tree | 18408d5465c98abb29924b9dfbfa86a5b9f96b7e /drivers/s390/scsi/zfcp_aux.c | |
parent | [SCSI] ipr: reverse the isr optimization changes (diff) | |
download | linux-91978465b1e5f89025cd43cd2102943160ec6dee.tar.gz linux-91978465b1e5f89025cd43cd2102943160ec6dee.tar.bz2 linux-91978465b1e5f89025cd43cd2102943160ec6dee.zip |
[SCSI] zfcp: Reorder registration of initial SCSI device
Make sure that the rport registration did complete and then register
SCSI device directly. Otherwise the unit_enqueue would race with the
call to zfcp_scsi_queue_unit_register.
Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_aux.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_aux.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c index 96fa1f536394..68df57157d48 100644 --- a/drivers/s390/scsi/zfcp_aux.c +++ b/drivers/s390/scsi/zfcp_aux.c @@ -73,13 +73,14 @@ static void __init zfcp_init_device_configure(char *busid, u64 wwpn, u64 lun) if (!port) goto out_port; + flush_work(&port->rport_work); unit = zfcp_unit_enqueue(port, lun); if (IS_ERR(unit)) goto out_unit; zfcp_erp_unit_reopen(unit, 0, "auidc_1", NULL); zfcp_erp_wait(adapter); - flush_work(&unit->scsi_work); + zfcp_scsi_scan(unit); out_unit: put_device(&port->dev); |