]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Jun 2011 01:33:36 +0000 (10:33 +0900)
commit cefcaba67ab97fb756b3a6af5139c94d861b660d upstream.

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>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/qla2xxx/qla_os.c

index 3010dd78159725e3a21f0a34da09c74b1828ee31..8f823bd9f027bfb5d81801fb4f16d954557204b0 100644 (file)
@@ -3608,7 +3608,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);
@@ -3679,8 +3680,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++;
        }