[-mm patch] aic7xxx: check irq validity (was Re: 2.6.18-mm2)

Frederik Deweerdt
2006-09-30T12:11:08Z

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@gmail.com>

diff --git a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
index 2001fe8..8279122 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
@@ -132,6 +132,11 @@ ahd_linux_pci_dev_probe(struct pci_dev *
char *name;
int error;

+ if (!pdev->irq) {
+ printk(KERN_WARNING "aic79xx: No irq line set\n");
+ return -ENODEV;
+ }
+
pci = pdev;
entry = ahd_find_pci_device(pci);
if (entry == NULL)
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
index ea5687d..ca61cdb 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
@@ -185,6 +185,11 @@ ahc_linux_pci_dev_probe(struct pci_dev *
int error;
struct device *dev = &pdev->dev;

+ if (!pdev->irq) {
+ printk(KERN_WARNING "aic7xxx: No irq line set\n");
+ return -ENODEV;
+ }
+
pci = pdev;
entry = ahc_find_pci_device(pci);
if (entry == NULL)