summaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage/isd200.c
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2008-03-12 18:20:09 +0100
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-03-13 22:47:05 +0100
commite92e63aabacf049fd64477e5e29eae0375d8d064 (patch)
treebc3ec57a46bc2bbcfd337e58a6be44620870fa80 /drivers/usb/storage/isd200.c
parent[SCSI] fix bsg queue oops with iscsi logout (diff)
downloadlinux-e92e63aabacf049fd64477e5e29eae0375d8d064.tar.xz
linux-e92e63aabacf049fd64477e5e29eae0375d8d064.zip
[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.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_)
if (info) {
kfree(info->id);
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);
info->RegsBuf = (unsigned char *)
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);
kfree(info);
retStatus = ISD200_ERROR;