]> Pileus Git - ~andy/linux/blobdiff - drivers/net/netxen/netxen_nic_main.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[~andy/linux] / drivers / net / netxen / netxen_nic_main.c
index a75ba9517404d94ca7c3da59472cfb80a57025c6..33fac32e0d9fd9dce1333b6f2ad7a7d4d615121a 100644 (file)
 #include <linux/sysfs.h>
 #include <linux/aer.h>
 
-MODULE_DESCRIPTION("QLogic/NetXen (1/10) GbE Converged Ethernet Driver");
+MODULE_DESCRIPTION("QLogic/NetXen (1/10) GbE Intelligent Ethernet Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(NETXEN_NIC_LINUX_VERSIONID);
-MODULE_FIRMWARE(NX_P2_MN_ROMIMAGE_NAME);
-MODULE_FIRMWARE(NX_P3_CT_ROMIMAGE_NAME);
-MODULE_FIRMWARE(NX_P3_MN_ROMIMAGE_NAME);
 MODULE_FIRMWARE(NX_UNIFIED_ROMIMAGE_NAME);
 
 char netxen_nic_driver_name[] = "netxen_nic";
@@ -765,8 +762,6 @@ netxen_check_options(struct netxen_adapter *adapter)
        if (adapter->fw_version >= NETXEN_VERSION_CODE(4, 0, 222))
                adapter->capabilities = NXRD32(adapter, CRB_FW_CAPABILITIES_1);
 
-       adapter->flags &= ~NETXEN_NIC_LRO_ENABLED;
-
        if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
                adapter->num_rxd = DEFAULT_RCV_DESCRIPTORS_10G;
                adapter->num_jumbo_rxd = MAX_JUMBO_RCV_DESCRIPTORS_10G;
@@ -993,7 +988,7 @@ __netxen_nic_up(struct netxen_adapter *adapter, struct net_device *netdev)
        if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
                netxen_config_intr_coalesce(adapter);
 
-       if (adapter->capabilities & NX_FW_CAPABILITY_HW_LRO)
+       if (netdev->features & NETIF_F_LRO)
                netxen_config_hw_lro(adapter, NETXEN_NIC_LRO_ENABLED);
 
        netxen_napi_enable(adapter);
@@ -1280,6 +1275,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        int i = 0, err;
        int pci_func_id = PCI_FUNC(pdev->devfn);
        uint8_t revision_id;
+       u32 val;
 
        if (pdev->revision >= NX_P3_A0 && pdev->revision <= NX_P3_B1) {
                pr_warning("%s: chip revisions between 0x%x-0x%x "
@@ -1355,8 +1351,9 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                break;
        }
 
-       if (reset_devices) {
-               if (adapter->portnum == 0) {
+       if (adapter->portnum == 0) {
+               val = NXRD32(adapter, NX_CRB_DEV_REF_COUNT);
+               if (val != 0xffffffff && val != 0) {
                        NXWR32(adapter, NX_CRB_DEV_REF_COUNT, 0);
                        adapter->need_fw_reset = 1;
                }