Messages in this thread | | | Date | Sun, 11 May 2003 13:24:56 -0400 | From | Jeff Garzik <> | Subject | Re: [bug 2.5.69] xirc2ps_cs, irq 3: nobody cared, shutdown hangs |
| |
Zwane Mwaikambo wrote: > @@ -1312,7 +1312,7 @@ xirc2ps_interrupt(int irq, void *dev_id, > */ > > if (!netif_device_present(dev)) > - return IRQ_NONE; > + goto out; > > ioaddr = dev->base_addr; > if (lp->mohawk) { /* must disable the interrupt */ > @@ -1515,6 +1515,7 @@ xirc2ps_interrupt(int irq, void *dev_id, > * force an interrupt with this command: > * PutByte(XIRCREG_CR, EnableIntr|ForceIntr); > */ > + out: > return IRQ_RETVAL(handled); > } /* xirc2ps_interrupt */
If this patch works, it's mainly a signal to dig deeper.
If netif_device_present() returns false, we think the hardware has disappeared. So that implies a bug in calling netif_device_detach() no a bug in the irq handler return value.
This is _especially_ true for pcmcia, even more than pci. PCI ejects (including cardbus) are electrically safe, whereas pcmcia is different. If pcmcia hardware disappears on you, you _really_ don't want to be bitbanging its ports.
Jeff
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |