diff options
Diffstat (limited to 'drivers/usb')
-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; |