mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
51 lines
1.6 KiB
Diff
51 lines
1.6 KiB
Diff
|
From 095ef388f714d622aa503fcccf20dc4095b72762 Mon Sep 17 00:00:00 2001
|
||
|
From: Vladimir Oltean <vladimir.oltean@nxp.com>
|
||
|
Date: Tue, 29 Nov 2022 16:12:13 +0200
|
||
|
Subject: [PATCH 06/14] net: dpaa2-mac: remove defensive check in
|
||
|
dpaa2_mac_disconnect()
|
||
|
|
||
|
dpaa2_mac_disconnect() will only be called with a NULL mac->phylink if
|
||
|
dpaa2_mac_connect() failed, or was never called.
|
||
|
|
||
|
The callers are these:
|
||
|
|
||
|
dpaa2_eth_disconnect_mac():
|
||
|
|
||
|
if (dpaa2_eth_is_type_phy(priv))
|
||
|
dpaa2_mac_disconnect(priv->mac);
|
||
|
|
||
|
dpaa2_switch_port_disconnect_mac():
|
||
|
|
||
|
if (dpaa2_switch_port_is_type_phy(port_priv))
|
||
|
dpaa2_mac_disconnect(port_priv->mac);
|
||
|
|
||
|
priv->mac can be NULL, but in that case, dpaa2_eth_is_type_phy() returns
|
||
|
false, and dpaa2_mac_disconnect() is never called. Similar for
|
||
|
dpaa2-switch.
|
||
|
|
||
|
When priv->mac is non-NULL, it means that dpaa2_mac_connect() returned
|
||
|
zero (success), and therefore, priv->mac->phylink is also a valid
|
||
|
pointer.
|
||
|
|
||
|
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
|
||
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||
|
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
||
|
Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com>
|
||
|
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||
|
---
|
||
|
drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c | 3 ---
|
||
|
1 file changed, 3 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
|
||
|
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c
|
||
|
@@ -446,9 +446,6 @@ err_pcs_destroy:
|
||
|
|
||
|
void dpaa2_mac_disconnect(struct dpaa2_mac *mac)
|
||
|
{
|
||
|
- if (!mac->phylink)
|
||
|
- return;
|
||
|
-
|
||
|
phylink_disconnect_phy(mac->phylink);
|
||
|
phylink_destroy(mac->phylink);
|
||
|
dpaa2_pcs_destroy(mac);
|