netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BUG] in skge.c on 2.6.18-rc5
@ 2006-08-30 15:30 Thibaut VARENE
  2006-08-30 16:17 ` Stephen Hemminger
  2006-08-30 17:21 ` Thibaut VARENE
  0 siblings, 2 replies; 6+ messages in thread
From: Thibaut VARENE @ 2006-08-30 15:30 UTC (permalink / raw)
  To: shemminger, netdev, Jeff Garzik

Hi,

The following commit:

commit 239e44e1f05e2163ee066c07a753f9fb445979b2
Author: Edgar E. Iglesias <edgar.iglesias@axis.com>
Date:   Mon Aug 14 23:00:24 2006 -0700

    [PATCH] skge: remember to run netif_poll_disable()

    Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
    Cc: Stephen Hemminger <shemminger@osdl.org>
    Cc: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Jeff Garzik <jeff@garzik.org>

diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 7de9a07..ad878df 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2211,6 +2211,7 @@ static int skge_up(struct net_device *de
        skge_write8(hw, Q_ADDR(rxqaddr[port], Q_CSR), CSR_START |
CSR_IRQ_CL_F);        skge_led(skge, LED_MODE_ON);

+       netif_poll_enable(dev);
        return 0;

  free_rx_ring:
@@ -2279,6 +2280,7 @@ static int skge_down(struct net_device *

        skge_led(skge, LED_MODE_OFF);

+       netif_poll_disable(dev);
        skge_tx_clean(skge);
        skge_rx_clean(skge);


panics my 2.6.18-rc5 kernel on my em64t box apparently on first
network activity (eg 'ping'). Reverting it gets me back to a
functional kernel.

HTH

T-Bone

varenet@PeroPero:~$ lspci | grep Ethernet
02:00.0 Ethernet controller: Marvell Technology Group Ltd. Unknown
device 4364 (rev 12)
05:04.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001
Gigabit Ethernet Controller (rev 13)


-- 
Thibaut VARENE
http://www.parisc-linux.org/~varenet/

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [BUG] in skge.c on 2.6.18-rc5
  2006-08-30 15:30 [BUG] in skge.c on 2.6.18-rc5 Thibaut VARENE
@ 2006-08-30 16:17 ` Stephen Hemminger
  2006-08-30 17:21 ` Thibaut VARENE
  1 sibling, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2006-08-30 16:17 UTC (permalink / raw)
  To: Thibaut VARENE; +Cc: netdev, Jeff Garzik

On Wed, 30 Aug 2006 17:30:46 +0200
"Thibaut VARENE" <T-Bone@parisc-linux.org> wrote:

> Hi,
> 
> The following commit:
> 
> commit 239e44e1f05e2163ee066c07a753f9fb445979b2
> Author: Edgar E. Iglesias <edgar.iglesias@axis.com>
> Date:   Mon Aug 14 23:00:24 2006 -0700
> 
>     [PATCH] skge: remember to run netif_poll_disable()
> 
>     Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
>     Cc: Stephen Hemminger <shemminger@osdl.org>
>     Cc: Jeff Garzik <jeff@garzik.org>
>     Signed-off-by: Andrew Morton <akpm@osdl.org>
>     Signed-off-by: Jeff Garzik <jeff@garzik.org>
> 
> diff --git a/drivers/net/skge.c b/drivers/net/skge.c
> index 7de9a07..ad878df 100644
> --- a/drivers/net/skge.c
> +++ b/drivers/net/skge.c
> @@ -2211,6 +2211,7 @@ static int skge_up(struct net_device *de
>         skge_write8(hw, Q_ADDR(rxqaddr[port], Q_CSR), CSR_START |
> CSR_IRQ_CL_F);        skge_led(skge, LED_MODE_ON);
> 
> +       netif_poll_enable(dev);
>         return 0;
> 
>   free_rx_ring:
> @@ -2279,6 +2280,7 @@ static int skge_down(struct net_device *
> 
>         skge_led(skge, LED_MODE_OFF);
> 
> +       netif_poll_disable(dev);
>         skge_tx_clean(skge);
>         skge_rx_clean(skge);
> 
> 
> panics my 2.6.18-rc5 kernel on my em64t box apparently on first
> network activity (eg 'ping'). Reverting it gets me back to a
> functional kernel

How are you bringing the network up, are you using autonegotiation?

-- 
Stephen Hemminger <shemminger@osdl.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG] in skge.c on 2.6.18-rc5
  2006-08-30 15:30 [BUG] in skge.c on 2.6.18-rc5 Thibaut VARENE
  2006-08-30 16:17 ` Stephen Hemminger
@ 2006-08-30 17:21 ` Thibaut VARENE
  2006-08-30 17:29   ` Stephen Hemminger
  1 sibling, 1 reply; 6+ messages in thread
From: Thibaut VARENE @ 2006-08-30 17:21 UTC (permalink / raw)
  To: shemminger; +Cc: netdev, Jeff Garzik

Replying to myself as I've been pointed at Stephen's reply (please CC
me, i'm not subscribed):

I'm bringing the interface up with 'dhclient eth0', and yes it's using autoneg.

HTH

T_Bone

On 8/30/06, Thibaut VARENE <T-Bone@parisc-linux.org> wrote:
> Hi,
>
> The following commit:
>
> commit 239e44e1f05e2163ee066c07a753f9fb445979b2
> Author: Edgar E. Iglesias <edgar.iglesias@axis.com>
> Date:   Mon Aug 14 23:00:24 2006 -0700

-- 
Thibaut VARENE
http://www.parisc-linux.org/~varenet/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG] in skge.c on 2.6.18-rc5
  2006-08-30 17:21 ` Thibaut VARENE
@ 2006-08-30 17:29   ` Stephen Hemminger
  2006-08-30 17:36     ` Thibaut VARENE
  0 siblings, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2006-08-30 17:29 UTC (permalink / raw)
  To: Thibaut VARENE; +Cc: netdev, Jeff Garzik

On Wed, 30 Aug 2006 19:21:20 +0200
"Thibaut VARENE" <T-Bone@parisc-linux.org> wrote:

> Replying to myself as I've been pointed at Stephen's reply (please CC
> me, i'm not subscribed):
> 
> I'm bringing the interface up with 'dhclient eth0', and yes it's using autoneg.
> 

Any chance of getting a backtrace; serial port, digital camera, handwritten note?

-- 
Stephen Hemminger <shemminger@osdl.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG] in skge.c on 2.6.18-rc5
  2006-08-30 17:29   ` Stephen Hemminger
@ 2006-08-30 17:36     ` Thibaut VARENE
  2006-08-31  8:48       ` Edgar E. Iglesias
  0 siblings, 1 reply; 6+ messages in thread
From: Thibaut VARENE @ 2006-08-30 17:36 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev, Jeff Garzik

On 8/30/06, Stephen Hemminger <shemminger@osdl.org> wrote:
> On Wed, 30 Aug 2006 19:21:20 +0200
> "Thibaut VARENE" <T-Bone@parisc-linux.org> wrote:
>
> > Replying to myself as I've been pointed at Stephen's reply (please CC
> > me, i'm not subscribed):
> >
> > I'm bringing the interface up with 'dhclient eth0', and yes it's using autoneg.
> >
>
> Any chance of getting a backtrace; serial port, digital camera, handwritten note?

If you can deal with this extremely blurry shot:
http://www.pateam.org/archive/tmp/IMGP0825.JPG

begins with "mod_timer" / "neigh_update" / "read_lock" and so on.

Worst case I'll reproduce the bug again and dump a better bt, but I'd
rather avoid as much as possible as I use that machine a lot right now
;P

HTH

T-Bone

-- 
Thibaut VARENE
http://www.parisc-linux.org/~varenet/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG] in skge.c on 2.6.18-rc5
  2006-08-30 17:36     ` Thibaut VARENE
@ 2006-08-31  8:48       ` Edgar E. Iglesias
  0 siblings, 0 replies; 6+ messages in thread
From: Edgar E. Iglesias @ 2006-08-31  8:48 UTC (permalink / raw)
  To: Thibaut VARENE; +Cc: Stephen Hemminger, netdev, Jeff Garzik

On Wed, Aug 30, 2006 at 07:36:56PM +0200, Thibaut VARENE wrote:
> On 8/30/06, Stephen Hemminger <shemminger@osdl.org> wrote:
> >On Wed, 30 Aug 2006 19:21:20 +0200
> >"Thibaut VARENE" <T-Bone@parisc-linux.org> wrote:
> >
> >> Replying to myself as I've been pointed at Stephen's reply (please CC
> >> me, i'm not subscribed):
> >>
> >> I'm bringing the interface up with 'dhclient eth0', and yes it's using 
> >autoneg.
> >>
> >
> >Any chance of getting a backtrace; serial port, digital camera, 
> >handwritten note?
> 
> If you can deal with this extremely blurry shot:
> http://www.pateam.org/archive/tmp/IMGP0825.JPG
> 
> begins with "mod_timer" / "neigh_update" / "read_lock" and so on.
> 
> Worst case I'll reproduce the bug again and dump a better bt, but I'd
> rather avoid as much as possible as I use that machine a lot right now
> ;P

Hi,

It may be safer to disable pollers for the entire down procedure. I think
we might also have races where xmitters are active while we are in
skge_down. Taking the txlock around netif_stop_queue probably doens't help
as a txirq can hit just after and wakeup the queue. Dont know if the 
xmitters while in skge_down will cause problems though.

I have no skge hw so I am pretty much in the dark, cannot test anything,
sorry.

Best regards
-- 
        Programmer
        Edgar E. Iglesias <edgar.iglesias@axis.com> 46.46.272.1946

Subject: [PATCH] disable pollers while stopping hw, not just around rx_clean.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>

diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index ad878df..cd8c1e4 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -2236,6 +2236,7 @@ static int skge_down(struct net_device *
 	if (netif_msg_ifdown(skge))
 		printk(KERN_INFO PFX "%s: disabling interface\n", dev->name);
 
+	netif_poll_disable(dev);
 	netif_stop_queue(dev);
 
 	skge_write8(skge->hw, SK_REG(skge->port, LNK_LED_REG), LED_OFF);
@@ -2280,7 +2281,6 @@ static int skge_down(struct net_device *
 
 	skge_led(skge, LED_MODE_OFF);
 
-	netif_poll_disable(dev);
 	skge_tx_clean(skge);
 	skge_rx_clean(skge);
 


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-08-31  8:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-30 15:30 [BUG] in skge.c on 2.6.18-rc5 Thibaut VARENE
2006-08-30 16:17 ` Stephen Hemminger
2006-08-30 17:21 ` Thibaut VARENE
2006-08-30 17:29   ` Stephen Hemminger
2006-08-30 17:36     ` Thibaut VARENE
2006-08-31  8:48       ` Edgar E. Iglesias

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).