OSDN Git Service

ionic: flatten calls to set-rx-mode
authorShannon Nelson <snelson@pensando.io>
Thu, 26 Aug 2021 01:24:47 +0000 (18:24 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 26 Aug 2021 08:41:50 +0000 (09:41 +0100)
Since only two functions call through ionic_set_rx_mode(), one
that can sleep and one that can't, we can split the function
and put the bits of code into the callers.  This removes an
unnecessary calling layer.

Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_lif.c

index 1940052..60bc125 100644 (file)
@@ -1444,28 +1444,19 @@ static void ionic_lif_rx_mode(struct ionic_lif *lif)
        mutex_unlock(&lif->config_lock);
 }
 
-static void ionic_set_rx_mode(struct net_device *netdev, bool can_sleep)
+static void ionic_ndo_set_rx_mode(struct net_device *netdev)
 {
        struct ionic_lif *lif = netdev_priv(netdev);
        struct ionic_deferred_work *work;
 
-       if (!can_sleep) {
-               work = kzalloc(sizeof(*work), GFP_ATOMIC);
-               if (!work) {
-                       netdev_err(lif->netdev, "rxmode change dropped\n");
-                       return;
-               }
-               work->type = IONIC_DW_TYPE_RX_MODE;
-               netdev_dbg(lif->netdev, "deferred: rx_mode\n");
-               ionic_lif_deferred_enqueue(&lif->deferred, work);
-       } else {
-               ionic_lif_rx_mode(lif);
+       work = kzalloc(sizeof(*work), GFP_ATOMIC);
+       if (!work) {
+               netdev_err(lif->netdev, "rxmode change dropped\n");
+               return;
        }
-}
-
-static void ionic_ndo_set_rx_mode(struct net_device *netdev)
-{
-       ionic_set_rx_mode(netdev, CAN_NOT_SLEEP);
+       work->type = IONIC_DW_TYPE_RX_MODE;
+       netdev_dbg(lif->netdev, "deferred: rx_mode\n");
+       ionic_lif_deferred_enqueue(&lif->deferred, work);
 }
 
 static __le64 ionic_netdev_features_to_nic(netdev_features_t features)
@@ -2101,7 +2092,7 @@ static int ionic_txrx_init(struct ionic_lif *lif)
        if (lif->netdev->features & NETIF_F_RXHASH)
                ionic_lif_rss_init(lif);
 
-       ionic_set_rx_mode(lif->netdev, CAN_SLEEP);
+       ionic_lif_rx_mode(lif);
 
        return 0;