Messages in this thread | | | From | Karsten Keil <> | Subject | Re: [PATCH] mISDN GIT: hfcpci cleanup failure on IRQ weirdness | Date | Tue, 2 Jun 2009 17:29:58 +0200 |
| |
Hi Andreas,
On Dienstag, 2. Juni 2009 15:06:49 Andreas Mohr wrote:
Thanks for discovering this issue.
... > ChangeLog: > Make sure to properly bail out (call free_irq()) > after hfcpci interrupt detection failure. > Improve comment. > > Signed-off-by: Andreas Mohr <andi@lisas.de> > > --- ./drivers/isdn/hardware/mISDN/hfcpci.c.orig 2009-06-02 > 13:54:10.000000000 +0200 +++ > ./drivers/isdn/hardware/mISDN/hfcpci.c 2009-06-02 14:29:20.000000000 +0200 > @@ -1172,7 +1172,7 @@ hfcpci_int(int intno, void *dev_id) > printk(KERN_DEBUG > "HFC-PCI: stat(%02x) s1(%02x)\n", stat, val); > } else { > - /* shared */ > + /* (shared) IRQ triggered by other device */ > spin_unlock(&hc->lock); > return IRQ_NONE; > }
Hmm, I think shared as comment in the IRQ function should be enough - but I do not complain to a longer comment.
> @@ -1807,8 +1807,7 @@ init_card(struct hfc_pci *hc) > "HFC PCI: IRQ(%d) getting no interrupts " > "during init %d\n", hc->irq, 4 - cnt); > if (cnt == 1) { > - spin_unlock_irqrestore(&hc->lock, flags); > - return -EIO; > + goto fail; > } else { > reset_hfcpci(hc); > cnt--;
easier: if (cnt == 1) break; else {
I will send this patch together with some other ISDN fixes again soon.
Karsten
| |