qlcnic: reset pci function unconditionally during probe
authorRajesh Borundia <rajesh.borundia@qlogic.com>
Thu, 16 Dec 2010 22:59:02 +0000 (22:59 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Dec 2010 19:39:02 +0000 (11:39 -0800)
Some boot code drivers dont have cleanup routine, so pci function
remains in unknown state prior to driver load. So during driver load
issue FLR unconditionally.

Update driver version to 5.0.14.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/qlcnic/qlcnic.h
drivers/net/qlcnic/qlcnic_main.c

index 4028d0c..9c2a02d 100644 (file)
@@ -34,8 +34,8 @@
 
 #define _QLCNIC_LINUX_MAJOR 5
 #define _QLCNIC_LINUX_MINOR 0
-#define _QLCNIC_LINUX_SUBVERSION 13
-#define QLCNIC_LINUX_VERSIONID  "5.0.13"
+#define _QLCNIC_LINUX_SUBVERSION 14
+#define QLCNIC_LINUX_VERSIONID  "5.0.14"
 #define QLCNIC_DRV_IDC_VER  0x01
 #define QLCNIC_DRIVER_VERSION  ((_QLCNIC_LINUX_MAJOR << 16) |\
                 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
index 788850e..11e3a46 100644 (file)
@@ -1468,7 +1468,6 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        uint8_t revision_id;
        uint8_t pci_using_dac;
        char brd_name[QLCNIC_MAX_BOARD_NAME_LEN];
-       u32 val;
 
        err = pci_enable_device(pdev);
        if (err)
@@ -1530,9 +1529,7 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (err)
                goto err_out_iounmap;
 
-       val = QLCRD32(adapter, QLCNIC_CRB_DRV_ACTIVE);
-       if (QLC_DEV_CHECK_ACTIVE(val, adapter->portnum))
-               adapter->flags |= QLCNIC_NEED_FLR;
+       adapter->flags |= QLCNIC_NEED_FLR;
 
        err = adapter->nic_ops->start_firmware(adapter);
        if (err) {