diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2008-03-12 13:20:09 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-03-13 17:47:05 -0400 |
commit | e92e63aabacf049fd64477e5e29eae0375d8d064 (patch) | |
tree | bc3ec57a46bc2bbcfd337e58a6be44620870fa80 /drivers/usb/storage/isd200.c | |
parent | 4b6f5b3a993cbe34b4280f252bccc76967c185c8 (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/isd200.c')
-rw-r--r-- | drivers/usb/storage/isd200.c | 5 |
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; |