]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[SCSI] qla2xxx: Fix virtual port failing to login after chip reset.
authorSaurav Kashyap <saurav.kashyap@qlogic.com>
Tue, 10 May 2011 18:18:18 +0000 (11:18 -0700)
committerJames Bottomley <jbottomley@parallels.com>
Tue, 17 May 2011 07:27:32 +0000 (11:27 +0400)
This patch ensures qla82xx_watchdog is not being run for the vport. It also
makes sure that beacon ON is not done for the vport, as it will lead to the
waking up of the dpc thread again and again.

Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <jbottomley@parallels.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_os.c

index 0ca66645e10c655d3c4e591f5c5d0af729163513..7168e7f24437dfa6f2918a53048792610d3bf4f5 100644 (file)
@@ -3623,7 +3623,8 @@ qla2x00_timer(scsi_qla_host_t *vha)
        if (!pci_channel_offline(ha->pdev))
                pci_read_config_word(ha->pdev, PCI_VENDOR_ID, &w);
 
-       if (IS_QLA82XX(ha)) {
+       /* Make sure qla82xx_watchdog is run only for physical port */
+       if (!vha->vp_idx && IS_QLA82XX(ha)) {
                if (test_bit(ISP_QUIESCE_NEEDED, &vha->dpc_flags))
                        start_dpc++;
                qla82xx_watchdog(vha);
@@ -3704,8 +3705,8 @@ qla2x00_timer(scsi_qla_host_t *vha)
                    atomic_read(&vha->loop_down_timer)));
        }
 
-       /* Check if beacon LED needs to be blinked */
-       if (ha->beacon_blink_led == 1) {
+       /* Check if beacon LED needs to be blinked for physical host only */
+       if (!vha->vp_idx && (ha->beacon_blink_led == 1)) {
                set_bit(BEACON_BLINK_NEEDED, &vha->dpc_flags);
                start_dpc++;
        }