]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/qla2xxx/qla_dbg.c
[SCSI] qla2xxx: Reference proper node/port names in fc_host class.
[linux-2.6-omap-h63xx.git] / drivers / scsi / qla2xxx / qla_dbg.c
index 89793c1c06b1e8569da9e53b2fa90a5090a6ca7a..5c5d2315cfab2073b0fdaf892e83e4f477b9bfc2 100644 (file)
@@ -970,7 +970,7 @@ qla24xx_fw_dump(scsi_qla_host_t *ha, int hardware_locked)
        int             rval;
        uint32_t        cnt, timer;
        uint32_t        risc_address;
-       uint16_t        mb[4];
+       uint16_t        mb[4], wd;
 
        uint32_t        stat;
        struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
@@ -1514,10 +1514,10 @@ qla24xx_fw_dump(scsi_qla_host_t *ha, int hardware_locked)
 
                WRT_REG_DWORD(&reg->ctrl_status,
                    CSRX_ISP_SOFT_RESET|CSRX_DMA_SHUTDOWN|MWB_4096_BYTES);
-               RD_REG_DWORD(&reg->ctrl_status);
+               pci_read_config_word(ha->pdev, PCI_COMMAND, &wd);
 
+               udelay(100);
                /* Wait for firmware to complete NVRAM accesses. */
-               udelay(5);
                mb[0] = (uint32_t) RD_REG_WORD(&reg->mailbox0);
                for (cnt = 10000 ; cnt && mb[0]; cnt--) {
                        udelay(5);
@@ -1525,7 +1525,7 @@ qla24xx_fw_dump(scsi_qla_host_t *ha, int hardware_locked)
                        barrier();
                }
 
-               udelay(20);
+               /* Wait for soft-reset to complete. */
                for (cnt = 0; cnt < 30000; cnt++) {
                        if ((RD_REG_DWORD(&reg->ctrl_status) &
                            CSRX_ISP_SOFT_RESET) == 0)