b44: activate PHY when MAC is off
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 20 Dec 2013 01:16:11 +0000 (02:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Dec 2013 01:48:48 +0000 (20:48 -0500)
Without this patch we can not access the PHY when the MAC is switched
off. This PHY access is needed to configure the switch, which is done
through PHY registers.

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 7b1e71d6596ae6519e835ce41344e6dd4d98ace8..d17561bd7ca0bbf5ba5b2757f116cb047c9a4333 100644 (file)
@@ -1360,7 +1360,10 @@ static void b44_halt(struct b44 *bp)
        bw32(bp, B44_MAC_CTRL, MAC_CTRL_PHY_PDOWN);
        /* now reset the chip, but without enabling the MAC&PHY
         * part of it. This has to be done _after_ we shut down the PHY */
-       b44_chip_reset(bp, B44_CHIP_RESET_PARTIAL);
+       if (bp->flags & B44_FLAG_EXTERNAL_PHY)
+               b44_chip_reset(bp, B44_CHIP_RESET_FULL);
+       else
+               b44_chip_reset(bp, B44_CHIP_RESET_PARTIAL);
 }
 
 /* bp->lock is held. */