b44: do not set PHY address to 30 for every ext PHY
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 20 Dec 2013 01:16:12 +0000 (02:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Dec 2013 01:48:49 +0000 (20:48 -0500)
b44_phy_reset() will fail for an external PHY and only work with the
internal PHY, this was an old workaround when the detection of an
external switch based on the PHY address failed and it is not needed
any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/b44.c

index d17561bd7ca0bbf5ba5b2757f116cb047c9a4333..839dd9092b17068931a0a5f0495b831c28e36b4f 100644 (file)
@@ -2412,8 +2412,11 @@ static int b44_init_one(struct ssb_device *sdev,
        b44_chip_reset(bp, B44_CHIP_RESET_FULL);
 
        /* do a phy reset to test if there is an active phy */
-       if (b44_phy_reset(bp) < 0)
-               bp->phy_addr = B44_PHY_ADDR_NO_LOCAL_PHY;
+       err = b44_phy_reset(bp);
+       if (err < 0) {
+               dev_err(sdev->dev, "phy reset failed\n");
+               goto err_out_unregister_netdev;
+       }
 
        if (bp->flags & B44_FLAG_EXTERNAL_PHY) {
                err = b44_register_phy_one(bp);