From: Ioana Ciornei Date: Mon, 11 Jan 2021 17:18:02 +0000 (+0200) Subject: dpaa2-mac: fix the remove path for non-MAC interfaces X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=848c1903d35e2eb4fdf8b1a0a6721876e8c88e5d;p=linux.git dpaa2-mac: fix the remove path for non-MAC interfaces Check if the interface is indeed connected to a MAC before trying to close the DPMAC object representing it. Without this check we end up working with a NULL pointer. Fixes: d87e606373f6 ("dpaa2-mac: export MAC counters even when in TYPE_FIXED") Signed-off-by: Ioana Ciornei Link: https://lore.kernel.org/r/20210111171802.1826324-1-ciorneiioana@gmail.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index dd00c5de21151..7cb286e533696 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -4150,6 +4150,9 @@ static void dpaa2_eth_disconnect_mac(struct dpaa2_eth_priv *priv) if (dpaa2_eth_is_type_phy(priv)) dpaa2_mac_disconnect(priv->mac); + if (!dpaa2_eth_has_mac(priv)) + return; + dpaa2_mac_close(priv->mac); kfree(priv->mac); priv->mac = NULL;