Message ID | 4AB788F4.90503@ring3k.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, 21 Sep 2009 23:08:52 +0900 Mike McCormack <mikem@ring3k.org> wrote: > 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 <mikem@ring3k.org> > --- > drivers/net/sky2.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c > index 4bb52e9..68d256b 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; > } > This should go to stable tree as well. Acked-by: Stephen Hemminger <shemminger@vyatta.com>
From: Mike McCormack <mikem@ring3k.org> Date: Mon, 21 Sep 2009 23:08:52 +0900 > 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 <mikem@ring3k.org> Applied and queued up for -stable, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 4bb52e9..68d256b 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; }
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 <mikem@ring3k.org> --- drivers/net/sky2.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)