]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/2.6.27.46/sky2-set-sky2_hw_ram_buffer-in-sky2_init.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 2.6.27.46 / sky2-set-sky2_hw_ram_buffer-in-sky2_init.patch
CommitLineData
8043cbef
GKH
1From 74a61ebf653c6abe459f228eb40e9f24f7ef1fb7 Mon Sep 17 00:00:00 2001
2From: Mike McCormack <mikem@ring3k.org>
3Date: Mon, 21 Sep 2009 04:08:52 +0000
4Subject: sky2: Set SKY2_HW_RAM_BUFFER in sky2_init
5
6From: Mike McCormack <mikem@ring3k.org>
7
8commit 74a61ebf653c6abe459f228eb40e9f24f7ef1fb7 upstream.
9
10The SKY2_HW_RAM_BUFFER bit in hw->flags was checked in sky2_mac_init(),
11 before being set later in sky2_up().
12
13Setting SKY2_HW_RAM_BUFFER in sky2_init() where other hw->flags are set
14 should avoid this problem recurring.
15
16Signed-off-by: Mike McCormack <mikem@ring3k.org>
17Acked-by: Stephen Hemminger <shemminger@vyatta.com>
18Signed-off-by: David S. Miller <davem@davemloft.net>
19Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
20
21---
22 drivers/net/sky2.c | 4 +++-
23 1 file changed, 3 insertions(+), 1 deletion(-)
24
25--- a/drivers/net/sky2.c
26+++ b/drivers/net/sky2.c
27@@ -1438,7 +1438,6 @@ static int sky2_up(struct net_device *de
28 if (ramsize > 0) {
29 u32 rxspace;
30
31- hw->flags |= SKY2_HW_RAM_BUFFER;
32 pr_debug(PFX "%s: ram buffer %dK\n", dev->name, ramsize);
33 if (ramsize < 16)
34 rxspace = ramsize / 2;
35@@ -2846,6 +2845,9 @@ static int __devinit sky2_init(struct sk
36 ++hw->ports;
37 }
38
39+ if (sky2_read8(hw, B2_E_0))
40+ hw->flags |= SKY2_HW_RAM_BUFFER;
41+
42 return 0;
43 }
44