patch-2.4.0-test10 linux/drivers/scsi/sr.c

Next file: linux/drivers/scsi/sym53c8xx_comm.h
Previous file: linux/drivers/scsi/sim710.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test9/linux/drivers/scsi/sr.c linux/drivers/scsi/sr.c
@@ -473,9 +473,19 @@
 	Scsi_Request *SRpnt;
 
 	buffer = (unsigned char *) scsi_malloc(512);
-
-
 	SRpnt = scsi_allocate_request(scsi_CDs[i].device);
+	
+	if(buffer == NULL || SRpnt == NULL)
+	{
+		scsi_CDs[i].capacity = 0x1fffff;
+		sector_size = 2048;	/* A guess, just in case */
+		scsi_CDs[i].needs_sector_size = 1;
+		if(buffer)
+			scsi_free(buffer, 512);
+		if(SRpnt)
+			scsi_release_request(SRpnt);
+		return;
+	}	
 
 	retries = 3;
 	do {

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