missing return value check for request_region() in in2000.c

From: Laurent Wandrebeck
Date: Fri Mar 17 2006 - 09:04:40 EST


Hi,
in drivers/scsi/in2000.c, request_region() is called without checking the return
value. Here is a patch to fix it.
Patch against 2.6.16-rc6-git8.
Please CC me on replies.
Regards.

Signed-off-by: Laurent Wandrebeck <l.wandrebeck@xxxxxxx>

--- linux-2.6.16-rc6/drivers/scsi/in2000.c.ori 2006-03-17 14:42:20.000000000 +0100
+++ linux-2.6.16-rc6/drivers/scsi/in2000.c 2006-03-17 14:50:14.000000000 +0100
@@ -2010,7 +2010,12 @@ static int __init in2000_detect(struct s
}
instance->irq = x;
instance->n_io_port = 13;
- request_region(base, 13, "in2000"); /* lock in this IO space for our use */
+ if (!request_region(base, 13, "in2000")) { /* lock in this IO space for our use */
+ printk(KERN_ERR "in2000: unable to reserve region 0x%x\n", base);
+ free_irq(instance->irq, instance);
+ detect_count--;
+ continue;
+ }

for (x = 0; x < 8; x++) {
hostdata->busy[x] = 0;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/