[PATCH] drivers/scsi/advansys.c check_region() fix

From: Omkhar Arasaratnam
Date: Tue Dec 30 2003 - 08:45:35 EST


Another trivial check_region() fix verified by Gene


--- linux-clean/drivers/scsi/advansys.c.org 2003-12-29 19:35:26.000000000 -0500
+++ linux-clean/drivers/scsi/advansys.c 2003-12-30 01:37:01.000000000 -0500
@@ -4619,7 +4619,7 @@
ASC_DBG1(1,
"advansys_detect: probing I/O port 0x%x...\n",
iop);
- if (check_region(iop, ASC_IOADR_GAP) != 0) {
+ if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
printk(
"AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
/* Don't try this I/O port twice. */
@@ -4630,6 +4630,7 @@
"AdvanSys SCSI: specified I/O Port 0x%X has no adapter\n", iop);
/* Don't try this I/O port twice. */
asc_ioport[ioport] = 0;
+ release_region(iop, ASC_IOADR_GAP);
goto ioport_try_again;
} else {
/*
@@ -4647,6 +4648,7 @@
* 'ioport' past this board.
*/
ioport++;
+ release_region(iop, ASC_IOADR_GAP);
goto ioport_try_again;
}
}
@@ -10003,10 +10005,11 @@
}
for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
iop_base = _asc_def_iop_base[i];
- if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
+ if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")) {
ASC_DBG1(1,
- "AscSearchIOPortAddr11: check_region() failed I/O port 0x%x\n",
+ "AscSearchIOPortAddr11: request_region() failed I/O port 0x%x\n",
iop_base);
+ release_region(iop_base, ASC_IOADR_GAP);
continue;
}
ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port 0x%x\n", iop_base);


O
-
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/