|
@@ -493,6 +493,12 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str *gdtcmd, char *cmnd,
|
|
|
if (!scp)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
+ scp->sense_buffer = kzalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
|
|
|
+ if (!scp->sense_buffer) {
|
|
|
+ kfree(scp);
|
|
|
+ return -ENOMEM;
|
|
|
+ }
|
|
|
+
|
|
|
scp->device = sdev;
|
|
|
memset(&cmndinfo, 0, sizeof(cmndinfo));
|
|
|
|
|
@@ -513,6 +519,7 @@ int __gdth_execute(struct scsi_device *sdev, gdth_cmd_str *gdtcmd, char *cmnd,
|
|
|
rval = cmndinfo.status;
|
|
|
if (info)
|
|
|
*info = cmndinfo.info;
|
|
|
+ kfree(scp->sense_buffer);
|
|
|
kfree(scp);
|
|
|
return rval;
|
|
|
}
|