diff -uNr linux-2.4.18.S18.scsimany5/drivers/scsi/sd.c linux-2.4.18.S18.scsimany/drivers/scsi/sd.c --- linux-2.4.18.S18.scsimany5/drivers/scsi/sd.c Wed Jul 17 15:16:35 2002 +++ linux-2.4.18.S18.scsimany/drivers/scsi/sd.c Fri Jul 26 11:46:22 2002 @@ -870,7 +870,7 @@ return -1; } - buffer = (unsigned char *) scsi_malloc(512); + buffer = (unsigned char *) scsi_malloc(256); if (!buffer) { printk(KERN_WARNING "(sd_init_onedisk:) Memory allocation failure.\n"); scsi_release_request(SRpnt); @@ -1114,7 +1114,7 @@ cmd[0] = MODE_SENSE; cmd[1] = cdb1; cmd[2] = 0x3f; /* Get all pages */ - cmd[4] = 255; /* Ask for 255 bytes, even tho we want just the first 8 */ + cmd[4] = 252; /* Ask for 252 bytes, even tho we want just the first 8 */ SRpnt->sr_cmd_len = 0; SRpnt->sr_sense_buffer[0] = 0; SRpnt->sr_sense_buffer[2] = 0; @@ -1122,7 +1122,7 @@ /* same code as READCAPA !! */ SRpnt->sr_data_direction = SCSI_DATA_READ; scsi_wait_req(SRpnt, (void *) cmd, (void *) buffer, - 512, SD_TIMEOUT, MAX_RETRIES); + 252, SD_TIMEOUT, MAX_RETRIES); the_result = SRpnt->sr_result; @@ -1143,7 +1143,7 @@ scsi_release_request(SRpnt); SRpnt = NULL; - scsi_free(buffer, 512); + scsi_free(buffer, 256); return 0; }