[SCSI] isd200: Allocate sense_buffer for hacked up scsi_cmnd

Since the separation of sense_buffer from scsi_cmnd, Drivers that hack their
own struct scsi_cmnd like here isd200, must also take care of their own
sense_buffer.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Boaz Harrosh 2008-03-12 19:20:09 +02:00 committed by James Bottomley
parent 4b6f5b3a99
commit e92e63aaba

View File

@ -1469,6 +1469,7 @@ static void isd200_free_info_ptrs(void *info_)
if (info) { if (info) {
kfree(info->id); kfree(info->id);
kfree(info->RegsBuf); kfree(info->RegsBuf);
kfree(info->srb.sense_buffer);
} }
} }
@ -1494,7 +1495,9 @@ static int isd200_init_info(struct us_data *us)
kzalloc(sizeof(struct hd_driveid), GFP_KERNEL); kzalloc(sizeof(struct hd_driveid), GFP_KERNEL);
info->RegsBuf = (unsigned char *) info->RegsBuf = (unsigned char *)
kmalloc(sizeof(info->ATARegs), GFP_KERNEL); kmalloc(sizeof(info->ATARegs), GFP_KERNEL);
if (!info->id || !info->RegsBuf) { info->srb.sense_buffer =
kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
if (!info->id || !info->RegsBuf || !info->srb.sense_buffer) {
isd200_free_info_ptrs(info); isd200_free_info_ptrs(info);
kfree(info); kfree(info);
retStatus = ISD200_ERROR; retStatus = ISD200_ERROR;