patch-2.4.0-test11 linux/drivers/scsi/inia100.c

Next file: linux/drivers/scsi/ips.c
Previous file: linux/drivers/scsi/ini9100u.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test10/linux/drivers/scsi/inia100.c linux/drivers/scsi/inia100.c
@@ -363,6 +363,7 @@
 		sz = orc_num_scb * sizeof(ESCB);
 		if ((pHCB->HCS_virEscbArray = (PVOID) kmalloc(sz, GFP_ATOMIC | GFP_DMA)) == NULL) {
 			printk("inia100: ESCB memory allocation error\n");
+			/* ?? does pHCB->HCS_virtScbArray leak ??*/
 			return (0);
 		}
 		memset((unsigned char *) pHCB->HCS_virEscbArray, 0, sz);
@@ -383,7 +384,8 @@
 
 		hreg = scsi_register(tpnt, sizeof(ORC_HCS));
 		if (hreg == NULL) {
-			printk("Invalid scsi_register pointer.\n");
+			release_region(pHCB->HCS_Base, 256);	/* Register */
+			return 0;
 		}
 		hreg->io_port = pHCB->HCS_Base;
 		hreg->n_io_port = 0xff;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)