]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
[TG3]: Clear GPIO mask before storing.
authorGary Zambrano <zambrano@broadcom.com>
Sat, 5 May 2007 18:51:45 +0000 (11:51 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 5 May 2007 18:51:45 +0000 (11:51 -0700)
The GPIO settings may change during reset and so the stored values in
tp->grc_local_ctrl should be cleared first.

Signed-off-by: Gary Zambrano <zambrano@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c

index c01bd861ac5e38e6be3536d77fb8a3fbb90d16de..00027a14eaa1d7c8a32b0ace14b328a51fb55171 100644 (file)
@@ -6454,6 +6454,7 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
                if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5755)
                        gpio_mask |= GRC_LCLCTRL_GPIO_UART_SEL;
 
+               tp->grc_local_ctrl &= ~gpio_mask;
                tp->grc_local_ctrl |= tr32(GRC_LOCAL_CTRL) & gpio_mask;
 
                /* GPIO1 must be driven high for eeprom write protect */