[SCSI] qla2xxx: Fix for continuous rescan attempts in arbitrated loop topology.
authorArun Easi <arun.easi@qlogic.com>
Wed, 22 Aug 2012 18:21:10 +0000 (14:21 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 24 Sep 2012 08:10:49 +0000 (12:10 +0400)
Stale information in the temporary fcport created in
qla2x00_configure_local_loop() causes qla2x00_get_port_database() call
to fail. This reschedules scan, which gets stuck continuously in the
rescheduling-of-scan loop due to the failure.

Signed-off-by: Arun Easi <arun.easi@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_init.c

index 6619b56c06f6e93f58928ac8b9ec00ce186aae3f..414f810726f083cd009f1e136ae66d6fdd1a74c9 100644 (file)
@@ -2826,6 +2826,8 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
                if (loop_id > LAST_LOCAL_LOOP_ID)
                        continue;
 
+               memset(new_fcport, 0, sizeof(fc_port_t));
+
                /* Fill in member data. */
                new_fcport->d_id.b.domain = domain;
                new_fcport->d_id.b.area = area;