diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-20 13:20:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-20 13:20:07 -0400 |
commit | d67e91117d104d98635e1b1623aafb26604cecbb (patch) | |
tree | a328b623ed07a33c1322ebc234e3236aa326494b /drivers/usb/storage | |
parent | 00c04db982b66fe9e8c8c5156808b905199bd645 (diff) | |
parent | 28aef2f7d9415b881c9145ab9b2c1c234064a243 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] a100u2w: fix bitmap lookup routine
[SCSI] fix media change events for polled devices
[SCSI] sd, sr: do not emit change event at device add
[SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers
[SCSI] gdth: Allocate sense_buffer to prevent NULL pointer dereference
[SCSI] arcmsr: fix iounmap error for Type B adapter
[SCSI] isd200: Allocate sense_buffer for hacked up scsi_cmnd
[SCSI] fix bsg queue oops with iscsi logout
[SCSI] Fix dependency problems in SCSI drivers
[SCSI] advansys: Fix bug in AdvLoadMicrocode
Diffstat (limited to 'drivers/usb/storage')
-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; |