Re: [patch 18/19] mv643xx ethernet driver IRQ registration fix

2007-03-07 Thread Giridhar Pemmasani

--- Dale Farnsworth <[EMAIL PROTECTED]> wrote:

> On Tue, Mar 06, 2007 at 02:42:02AM -0800, [EMAIL PROTECTED] wrote:
> > From: Giridhar Pemmasani <[EMAIL PROTECTED]>
> > 
> > During initialization, mv643xx driver registers IRQ before setting up
> tx/rx
> > rings.  This causes kernel oops because mv643xx_poll, which gets called
> > right after registering IRQ, calls netif_rx_complete, which accesses the
> rx
> > ring (I don't have the oops message anymore; I just remember this
> sequence
> > of calls).  Attached (tested) patch first initializes the rx/tx rings and
> > then registers the IRQ.
> 
> I believe a better fix is to disable any pending interrupt sources
> before calling request_irq().  I sent the patch below to Giri for
> confirmation, but haven't heard back.  I should've copied Andrew.
> 
> Giri, have you had a chance to test this alternative patch?

I got a chance to test this patch today. I can confirm that this patch fixes
the issue reported.

Thanks,
Giri


 

The fish are biting. 
Get more visitors on your site using Yahoo! Search Marketing.
http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [patch 18/19] mv643xx ethernet driver IRQ registration fix

2007-03-06 Thread Giridhar Pemmasani

--- Dale Farnsworth <[EMAIL PROTECTED]> wrote:

> On Tue, Mar 06, 2007 at 02:42:02AM -0800, [EMAIL PROTECTED] wrote:
> > From: Giridhar Pemmasani <[EMAIL PROTECTED]>
> > 
> > During initialization, mv643xx driver registers IRQ before setting up
> tx/rx
> > rings.  This causes kernel oops because mv643xx_poll, which gets called
> > right after registering IRQ, calls netif_rx_complete, which accesses the
> rx
> > ring (I don't have the oops message anymore; I just remember this
> sequence
> > of calls).  Attached (tested) patch first initializes the rx/tx rings and
> > then registers the IRQ.
> 
> I believe a better fix is to disable any pending interrupt sources
> before calling request_irq().  I sent the patch below to Giri for
> confirmation, but haven't heard back.  I should've copied Andrew.
> 
> Giri, have you had a chance to test this alternative patch?

I will get my hands on the box this Friday. As soon as I can, I will test and
give feedback.

FWIW, I had a patch earlier that was similar (not same) as you suggest. That
patch was based on the changes from 2.6.15 to 2.6.16 when it broke. In
2.6.15, interrupts as well as rx/tx are disabled until rx/tx rings are setup.
Anyway, I will test this and let you know.

Giri


 

Be a PS3 game guru.
Get your game face on with the latest PS3 news and previews at Yahoo! Games.
http://videogames.yahoo.com/platform?platform=120121
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html