tg3: Check all adv bits when checking config

This patch makes sure the driver checks all advertisement bits when
checking the current hw advertisements.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Matt Carlson 2011-08-31 11:44:47 +00:00 committed by David S. Miller
parent aaba215ca0
commit b99d2a57b7

View File

@ -3334,8 +3334,9 @@ static int tg3_copper_is_advertising_all(struct tg3 *tp, u32 mask)
if (tg3_readphy(tp, MII_ADVERTISE, &adv_reg))
return 0;
if ((adv_reg & all_mask) != all_mask)
if ((adv_reg & ADVERTISE_ALL) != all_mask)
return 0;
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
u32 tg3_ctrl;
@ -3348,7 +3349,8 @@ static int tg3_copper_is_advertising_all(struct tg3 *tp, u32 mask)
if (tg3_readphy(tp, MII_CTRL1000, &tg3_ctrl))
return 0;
if ((tg3_ctrl & all_mask) != all_mask)
tg3_ctrl &= (ADVERTISE_1000HALF | ADVERTISE_1000FULL);
if (tg3_ctrl != all_mask)
return 0;
}
return 1;