bnx2x: use bnx2x_reload_if_running
authorDmitry Kravkov <dmitry@broadcom.com>
Tue, 14 Jun 2011 01:33:30 +0000 (01:33 +0000)
committerDavid S. Miller <davem@conan.davemloft.net>
Wed, 15 Jun 2011 14:56:14 +0000 (10:56 -0400)
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
drivers/net/bnx2x/bnx2x_cmn.c
drivers/net/bnx2x/bnx2x_cmn.h
drivers/net/bnx2x/bnx2x_ethtool.c

index 9fee7f0a2d991144e2ba3c14e0bdb8606108cf6f..ed1d695b1777cc5c1fe014c3d57a51e7dee4bf9b 100644 (file)
@@ -2810,7 +2810,7 @@ alloc_err:
 
 }
 
-static int bnx2x_reload_if_running(struct net_device *dev)
+int bnx2x_reload_if_running(struct net_device *dev)
 {
        struct bnx2x *bp = netdev_priv(dev);
 
index ded8cf1e93fe44516f5f36eb1c0eea85641beb78..57d9354da617a2247ebca1e4e9377f633cefb7a7 100644 (file)
@@ -377,6 +377,9 @@ netdev_tx_t bnx2x_start_xmit(struct sk_buff *skb, struct net_device *dev);
 /* select_queue callback */
 u16 bnx2x_select_queue(struct net_device *dev, struct sk_buff *skb);
 
+/* reload helper */
+int bnx2x_reload_if_running(struct net_device *dev);
+
 int bnx2x_change_mac_addr(struct net_device *dev, void *p);
 
 /* NAPI poll Rx part */
index 9526a320eaf24917aa803f1da98a1949f5dfc34b..ddb99a9a803d489b0d105f0836f3b94c7818386f 100644 (file)
@@ -1238,7 +1238,6 @@ static int bnx2x_set_ringparam(struct net_device *dev,
                               struct ethtool_ringparam *ering)
 {
        struct bnx2x *bp = netdev_priv(dev);
-       int rc = 0;
 
        if (bp->recovery_state != BNX2X_RECOVERY_DONE) {
                printk(KERN_ERR "Handling parity error recovery. Try again later\n");
@@ -1255,12 +1254,7 @@ static int bnx2x_set_ringparam(struct net_device *dev,
        bp->rx_ring_size = ering->rx_pending;
        bp->tx_ring_size = ering->tx_pending;
 
-       if (netif_running(dev)) {
-               bnx2x_nic_unload(bp, UNLOAD_NORMAL);
-               rc = bnx2x_nic_load(bp, LOAD_NORMAL);
-       }
-
-       return rc;
+       return bnx2x_reload_if_running(dev);
 }
 
 static void bnx2x_get_pauseparam(struct net_device *dev,