From: Mike McCormack Date: Mon, 21 Sep 2009 04:08:52 +0000 (+0000) Subject: sky2: Set SKY2_HW_RAM_BUFFER in sky2_init X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=74a61ebf653c6abe459f228eb40e9f24f7ef1fb7;p=deliverable%2Flinux.git sky2: Set SKY2_HW_RAM_BUFFER in sky2_init The SKY2_HW_RAM_BUFFER bit in hw->flags was checked in sky2_mac_init(), before being set later in sky2_up(). Setting SKY2_HW_RAM_BUFFER in sky2_init() where other hw->flags are set should avoid this problem recurring. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller --- diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 4bb52e9cd371..68d256b9638c 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -1497,7 +1497,6 @@ static int sky2_up(struct net_device *dev) if (ramsize > 0) { u32 rxspace; - hw->flags |= SKY2_HW_RAM_BUFFER; pr_debug(PFX "%s: ram buffer %dK\n", dev->name, ramsize); if (ramsize < 16) rxspace = ramsize / 2; @@ -2926,6 +2925,9 @@ static int __devinit sky2_init(struct sky2_hw *hw) ++hw->ports; } + if (sky2_read8(hw, B2_E_0)) + hw->flags |= SKY2_HW_RAM_BUFFER; + return 0; }