mediatek: Add support for Xiaomi Redmi Router AX6S
[openwrt/staging/chunkeey.git] / target / linux / layerscape / patches-5.4 / 701-net-0297-staging-fsl_ppfe-eth-unregister-netdev-after-pfe_phy.patch
1 From 4ebb4e490dd924d1a8ca7fe693a0dd1cfa150687 Mon Sep 17 00:00:00 2001
2 From: Calvin Johnson <calvin.johnson@nxp.com>
3 Date: Mon, 30 Apr 2018 11:40:01 +0530
4 Subject: [PATCH] staging: fsl_ppfe/eth: unregister netdev after pfe_phy_exit
5
6 rmmod pfe.ko throws below warning:
7
8 kernfs: can not remove 'phydev', no directory
9 ------------[ cut here ]------------
10 WARNING: CPU: 0 PID: 2230 at fs/kernfs/dir.c:1481
11 kernfs_remove_by_name_ns+0x90/0xa0
12
13 This is caused when the unregistered netdev structure is accessed to
14 disconnect phy.
15
16 Resolve the issue by unregistering netdev after disconnecting phy.
17
18 Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
19 ---
20 drivers/staging/fsl_ppfe/pfe_eth.c | 8 ++++----
21 1 file changed, 4 insertions(+), 4 deletions(-)
22
23 --- a/drivers/staging/fsl_ppfe/pfe_eth.c
24 +++ b/drivers/staging/fsl_ppfe/pfe_eth.c
25 @@ -2464,15 +2464,15 @@ static void pfe_eth_exit_one(struct pfe_
26 {
27 netif_info(priv, probe, priv->ndev, "%s\n", __func__);
28
29 - if (!us) {
30 + if (!us)
31 pfe_eth_sysfs_exit(priv->ndev);
32
33 - unregister_netdev(priv->ndev);
34 - }
35 -
36 if (!(priv->einfo->phy_flags & GEMAC_NO_PHY))
37 pfe_phy_exit(priv->ndev);
38
39 + if (!us)
40 + unregister_netdev(priv->ndev);
41 +
42 if (priv->mii_bus)
43 pfe_eth_mdio_exit(priv->mii_bus);
44