netxen_nic: restrict force firmware dump when dump is disabled.
authorManish chopra <manish.chopra@qlogic.com>
Thu, 28 Jun 2012 20:12:21 +0000 (20:12 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Jun 2012 07:52:32 +0000 (00:52 -0700)
o Set the ethtool_dump flag (=ETH_FW_DUMP_DISABLE) when dump is disabled.
o update driver version to 4.0.80

Signed-off-by: Manish chopra <manish.chopra@qlogic.com>
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/netxen/netxen_nic.h
drivers/net/ethernet/qlogic/netxen/netxen_nic_ethtool.c

index 37ccbe5..eb3dfdb 100644 (file)
@@ -53,8 +53,8 @@
 
 #define _NETXEN_NIC_LINUX_MAJOR 4
 #define _NETXEN_NIC_LINUX_MINOR 0
-#define _NETXEN_NIC_LINUX_SUBVERSION 79
-#define NETXEN_NIC_LINUX_VERSIONID  "4.0.79"
+#define _NETXEN_NIC_LINUX_SUBVERSION 80
+#define NETXEN_NIC_LINUX_VERSIONID  "4.0.80"
 
 #define NETXEN_VERSION_CODE(a, b, c)   (((a) << 24) + ((b) << 16) + (c))
 #define _major(v)      (((v) >> 24) & 0xff)
index 9103e3e..10468e7 100644 (file)
@@ -826,7 +826,12 @@ netxen_get_dump_flag(struct net_device *netdev, struct ethtool_dump *dump)
                dump->len = mdump->md_dump_size;
        else
                dump->len = 0;
-       dump->flag = mdump->md_capture_mask;
+
+       if (!mdump->md_enabled)
+               dump->flag = ETH_FW_DUMP_DISABLE;
+       else
+               dump->flag = mdump->md_capture_mask;
+
        dump->version = adapter->fw_version;
        return 0;
 }
@@ -840,8 +845,10 @@ netxen_set_dump(struct net_device *netdev, struct ethtool_dump *val)
 
        switch (val->flag) {
        case NX_FORCE_FW_DUMP_KEY:
-               if (!mdump->md_enabled)
-                       mdump->md_enabled = 1;
+               if (!mdump->md_enabled) {
+                       netdev_info(netdev, "FW dump not enabled\n");
+                       return 0;
+               }
                if (adapter->fw_mdump_rdy) {
                        netdev_info(netdev, "Previous dump not cleared, not forcing dump\n");
                        return 0;