From 91978465b1e5f89025cd43cd2102943160ec6dee Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Mon, 30 Aug 2010 10:55:09 +0200 Subject: [PATCH] [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 Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley --- drivers/s390/scsi/zfcp_aux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c index 96fa1f53639..68df57157d4 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);