On Sat, Sep 30, 2006 at 07:58:18PM -0400, Jeff Garzik wrote: > Frederik Deweerdt wrote: > >On Sat, Sep 30, 2006 at 12:43:24AM +0100, Alan Cox wrote: > >>Ar Gwe, 2006-09-29 am 23:50 +0000, ysgrifennodd Frederik Deweerdt: > >>>Does this patch makes sense in that case? If yes, I'll put up a patch > >>>for the remaining cases in the drivers/scsi/aic7xxx/ directory. > >>>Also, aic7xxx's coding style would put parenthesis around the returned > >>>value, should I follow it? > >>Yes - but perhaps with a warning message so users know why ? > >> > >>As to coding style - kernel style is unbracketed so I wouldnt worry > >>about either. > >> > >Thanks for the advices. The following patch checks whenever the irq is valid before issuing a > >request_irq() for AIC7XXX and AIC79XX. An error message is displayed to > >let the user know what went wrong. > >Regards, > >Frederik > >Signed-off-by: Frederik Deweerdt <frederik.deweerdt@xxxxxxxxx> > > Actually, rather than adding this check to every driver, I would rather do something like the attached patch: create a > pci_request_irq(), and pass a struct pci_device to it. Then the driver author doesn't have to worry about such details. > That's better, indeed. [...] > +#ifndef ARCH_VALIDATE_PCI_IRQ > +int pci_valid_irq(struct pci_dev *pdev) > +{ > + if (pdev->irq == 0) > + return -EINVAL; ^^^^^^ Woulnd't this rather be ENODEV? Admitedly, from pci_valid_irq() (or is_irq_valid()) point of view, it _has_ been passed an invalid value. But from userspace's point of view, it's like the device was not present. Regards, Frederik - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html