nfp: correct RX buffer length calculation
authorJakub Kicinski <jakub.kicinski@netronome.com>
Thu, 7 Apr 2016 18:39:34 +0000 (19:39 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Apr 2016 19:26:03 +0000 (15:26 -0400)
When calculating the RX buffer length we need to account
for up to 2 VLAN tags.  Rounding up to 1k is an relic of
a distant past and can be removed.  While at it also remove
trivial print statement.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

index 43c618bafdb64186356fffbb779c69cd6361f75d..0dae81454e77aadb27db7c9e2c549efb8332a06d 100644 (file)
@@ -1911,9 +1911,6 @@ static void nfp_net_set_rx_mode(struct net_device *netdev)
 static int nfp_net_change_mtu(struct net_device *netdev, int new_mtu)
 {
        struct nfp_net *nn = netdev_priv(netdev);
-       u32 tmp;
-
-       nn_dbg(nn, "New MTU = %d\n", new_mtu);
 
        if (new_mtu < 68 || new_mtu > nn->max_mtu) {
                nn_err(nn, "New MTU (%d) is not valid\n", new_mtu);
@@ -1921,10 +1918,7 @@ static int nfp_net_change_mtu(struct net_device *netdev, int new_mtu)
        }
 
        netdev->mtu = new_mtu;
-
-       /* Freelist buffer size rounded up to the nearest 1K */
-       tmp = new_mtu + ETH_HLEN + VLAN_HLEN + NFP_NET_MAX_PREPEND;
-       nn->fl_bufsz = roundup(tmp, 1024);
+       nn->fl_bufsz = NFP_NET_MAX_PREPEND + ETH_HLEN + VLAN_HLEN * 2 + new_mtu;
 
        /* restart if running */
        if (netif_running(netdev)) {