[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3128426.BNOxRVW2LW@lenovo>
Date: Sun, 02 Mar 2014 10:53:23 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Hauke Mehrtens <hauke@...ke-m.de>
Cc: davem@...emloft.net, zambrano@...adcom.com, netdev@...r.kernel.org
Subject: Re: [PATCH 2/2] b44: always set duplex mode why phy changes
Le dimanche 2 mars 2014, 17:29:34 Hauke Mehrtens a écrit :
> Without this patch b44_check_phy() was called when the phy called the
> adjust callback. This method only change the mac duplex mode when the
> carrier was off. When the phy changed the duplex mode after the carrier
> was on the mac was not changed. This happened when an external phy was
> used.
>
> Signed-off-by: Hauke Mehrtens <hauke@...ke-m.de>
Acked-by: Florian Fainelli <f.fainelli@...il.com>
> ---
> drivers/net/ethernet/broadcom/b44.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/broadcom/b44.c
> b/drivers/net/ethernet/broadcom/b44.c index e8046e1..8a7bf7d 100644
> --- a/drivers/net/ethernet/broadcom/b44.c
> +++ b/drivers/net/ethernet/broadcom/b44.c
> @@ -2229,7 +2229,12 @@ static void b44_adjust_link(struct net_device *dev)
> }
>
> if (status_changed) {
> - b44_check_phy(bp);
> + u32 val = br32(bp, B44_TX_CTRL);
> + if (bp->flags & B44_FLAG_FULL_DUPLEX)
> + val |= TX_CTRL_DUPLEX;
> + else
> + val &= ~TX_CTRL_DUPLEX;
> + bw32(bp, B44_TX_CTRL, val);
> phy_print_status(phydev);
> }
> }
--
Florian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists