]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/netxen/netxen_nic_main.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / net / netxen / netxen_nic_main.c
index e1d30d7f207121a5de4636fd85b8bf7d9b76acb5..33fac32e0d9fd9dce1333b6f2ad7a7d4d615121a 100644 (file)
@@ -38,7 +38,7 @@
 #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_UNIFIED_ROMIMAGE_NAME);
@@ -762,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;
@@ -990,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);
@@ -1277,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 "
@@ -1352,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;
                }