浏览代码

net: emaclite: Fix position of lp->mii_bus assignment

To ensure MDIO bus is not double freed in remove() path
assign lp->mii_bus after MDIO bus registration.

Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Radhey Shyam Pandey 7 年之前
父节点
当前提交
087fca595a
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      drivers/net/ethernet/xilinx/xilinx_emaclite.c

+ 2 - 2
drivers/net/ethernet/xilinx/xilinx_emaclite.c

@@ -863,14 +863,14 @@ static int xemaclite_mdio_setup(struct net_local *lp, struct device *dev)
 	bus->write = xemaclite_mdio_write;
 	bus->write = xemaclite_mdio_write;
 	bus->parent = dev;
 	bus->parent = dev;
 
 
-	lp->mii_bus = bus;
-
 	rc = of_mdiobus_register(bus, np);
 	rc = of_mdiobus_register(bus, np);
 	if (rc) {
 	if (rc) {
 		dev_err(dev, "Failed to register mdio bus.\n");
 		dev_err(dev, "Failed to register mdio bus.\n");
 		goto err_register;
 		goto err_register;
 	}
 	}
 
 
+	lp->mii_bus = bus;
+
 	return 0;
 	return 0;
 
 
 err_register:
 err_register: