From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [PATCHv3 net 2/5] nfp: free buffers before changing MTU Date: Thu, 18 Feb 2016 20:38:10 +0000 Message-ID: <1455827893-26366-3-git-send-email-jakub.kicinski@netronome.com> References: <1455827893-26366-1-git-send-email-jakub.kicinski@netronome.com> Cc: netdev@vger.kernel.org, Jakub Kicinski To: davem@davemloft.net Return-path: Received: from mail-wm0-f47.google.com ([74.125.82.47]:37793 "EHLO mail-wm0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1948040AbcBRUiV (ORCPT ); Thu, 18 Feb 2016 15:38:21 -0500 Received: by mail-wm0-f47.google.com with SMTP id g62so42984754wme.0 for ; Thu, 18 Feb 2016 12:38:20 -0800 (PST) In-Reply-To: <1455827893-26366-1-git-send-email-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: For freeing DMA buffers we depend on nfp_net.fl_bufsz having the same value as during allocation therefore in .ndo_change_mtu we must first free the buffers and then change the setting. Signed-off-by: Jakub Kicinski Reviewed-by: Rolf Neugebauer --- drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 006d9600240f..b381682de3d6 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -1921,17 +1921,17 @@ static int nfp_net_change_mtu(struct net_device *netdev, int new_mtu) return -EINVAL; } + if (netif_running(netdev)) + nfp_net_netdev_close(netdev); + 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); - /* restart if running */ - if (netif_running(netdev)) { - nfp_net_netdev_close(netdev); + if (netif_running(netdev)) ret = nfp_net_netdev_open(netdev); - } return ret; } -- 1.9.1