aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2008-03-12 13:20:09 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-03-13 17:47:05 -0400
commite92e63aabacf049fd64477e5e29eae0375d8d064 (patch)
treebc3ec57a46bc2bbcfd337e58a6be44620870fa80 /drivers/usb/storage
parent4b6f5b3a993cbe34b4280f252bccc76967c185c8 (diff)
[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>
Diffstat (limited to 'drivers/usb/storage')
-rw-r--r--drivers/usb/storage/isd200.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c
index 2ae1e8673b19..9d3f28b92cbe 100644
--- a/drivers/usb/storage/isd200.c
+++ b/drivers/usb/storage/isd200.c
@@ -1469,6 +1469,7 @@ static void isd200_free_info_ptrs(void *info_)
1469 if (info) { 1469 if (info) {
1470 kfree(info->id); 1470 kfree(info->id);
1471 kfree(info->RegsBuf); 1471 kfree(info->RegsBuf);
1472 kfree(info->srb.sense_buffer);
1472 } 1473 }
1473} 1474}
1474 1475
@@ -1494,7 +1495,9 @@ static int isd200_init_info(struct us_data *us)
1494 kzalloc(sizeof(struct hd_driveid), GFP_KERNEL); 1495 kzalloc(sizeof(struct hd_driveid), GFP_KERNEL);
1495 info->RegsBuf = (unsigned char *) 1496 info->RegsBuf = (unsigned char *)
1496 kmalloc(sizeof(info->ATARegs), GFP_KERNEL); 1497 kmalloc(sizeof(info->ATARegs), GFP_KERNEL);
1497 if (!info->id || !info->RegsBuf) { 1498 info->srb.sense_buffer =
1499 kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
1500 if (!info->id || !info->RegsBuf || !info->srb.sense_buffer) {
1498 isd200_free_info_ptrs(info); 1501 isd200_free_info_ptrs(info);
1499 kfree(info); 1502 kfree(info);
1500 retStatus = ISD200_ERROR; 1503 retStatus = ISD200_ERROR;