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-Tag: v2.6.31.4~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c839c5cede32a8f033b097819b3b9811e3e1ea26;p=thirdparty%2Fkernel%2Fstable.git sky2: Set SKY2_HW_RAM_BUFFER in sky2_init [ Upstream commit 74a61ebf653c6abe459f228eb40e9f24f7ef1fb7 ] 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 0a551d8f5d956..a606e7fc01380 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -1455,7 +1455,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; @@ -2942,6 +2941,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; }