]> Pileus Git - ~andy/linux/commitdiff
qlcnic: Fix driver initialization for 83xx adapters
authorManish Chopra <manish.chopra@qlogic.com>
Thu, 15 Aug 2013 12:27:27 +0000 (08:27 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Aug 2013 21:46:18 +0000 (14:46 -0700)
o Load firmware from file before setting up interrupts.

Signed-off-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c

index cc1e32a7248f3df247d6cbb088d42eac35d7b544..17c26a1158a07e1bf07f2f888243de920e9d9781 100644 (file)
@@ -2169,6 +2169,13 @@ int qlcnic_83xx_init(struct qlcnic_adapter *adapter, int pci_using_dac)
        if (err)
                goto detach_mbx;
 
+       if (!qlcnic_83xx_read_flash_descriptor_table(adapter))
+               qlcnic_83xx_read_flash_mfg_id(adapter);
+
+       err = qlcnic_83xx_idc_init(adapter);
+       if (err)
+               goto detach_mbx;
+
        err = qlcnic_setup_intr(adapter, 0);
        if (err) {
                dev_err(&adapter->pdev->dev, "Failed to setup interrupt\n");
@@ -2186,13 +2193,6 @@ int qlcnic_83xx_init(struct qlcnic_adapter *adapter, int pci_using_dac)
        /* register for NIC IDC AEN Events */
        qlcnic_83xx_register_nic_idc_func(adapter, 1);
 
-       if (!qlcnic_83xx_read_flash_descriptor_table(adapter))
-               qlcnic_83xx_read_flash_mfg_id(adapter);
-
-       err = qlcnic_83xx_idc_init(adapter);
-       if (err)
-               goto disable_mbx_intr;
-
        /* Configure default, SR-IOV or Virtual NIC mode of operation */
        err = qlcnic_83xx_configure_opmode(adapter);
        if (err)