Re: Linuv 2.6.15-rc1

Pekka J Enberg
2005-11-16T09:33:54Z

Hi Zilvinas,

I think your device could be firing interrupts while we're taking
the error path in ipw_pci_probe().

Please back out the patch below:

On Tue, Nov 15, 2005 at 02:51:16PM +0200, Pekka Enberg wrote:
> > Index: 2.6/arch/i386/kernel/traps.c
> > ===================================================================
> > --- 2.6.orig/arch/i386/kernel/traps.c
> > +++ 2.6/arch/i386/kernel/traps.c
> > @@ -185,8 +185,10 @@ void show_stack(struct task_struct *task
> > printk("\n ");
> > printk("%08lx ", *stack++);
> > }
> > +#if 0
> > printk("\nCall Trace:\n");
> > show_trace(task, esp);
> > +#endif
> > }
> >

And see if you can trigger the oops with the included patch applied.
Please leave the page and slab debugging config options on.

Thank you for testing!

Pekka

Index: 2.6/drivers/net/wireless/ipw2200.c
===================================================================
--- 2.6.orig/drivers/net/wireless/ipw2200.c
+++ 2.6/drivers/net/wireless/ipw2200.c
@@ -11065,6 +11065,7 @@ static int ipw_pci_probe(struct pci_dev
return 0;

out_remove_sysfs:
+ ipw_disable_interrupts(priv);
sysfs_remove_group(&pdev->dev.kobj, &ipw_attribute_group);
out_release_irq:
free_irq(pdev->irq, priv);