aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid
diff options
context:
space:
mode:
authorbo yang <bo.yang@lsi.com>2008-03-18 03:13:06 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:19:00 -0400
commitb70a41e077b3405d4b41d34db31b39c05bf142b5 (patch)
treef5a1bfc82ac3bd111a0a1e0602812806279b9452 /drivers/scsi/megaraid
parentccde6b8d6217834def292030a1864d517f55ded5 (diff)
[SCSI] megaraid_sas: rollback the sense info implementation
Sense buffer ptr data type in the ioctl path is reverted back to u32 * as in previous versions of driver. Signed-off-by Bo Yang<bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index 77a62a1b12c3..4014225300a0 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -2909,7 +2909,6 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance,
2909 void *sense = NULL; 2909 void *sense = NULL;
2910 dma_addr_t sense_handle; 2910 dma_addr_t sense_handle;
2911 u32 *sense_ptr; 2911 u32 *sense_ptr;
2912 unsigned long *sense_buff;
2913 2912
2914 memset(kbuff_arr, 0, sizeof(kbuff_arr)); 2913 memset(kbuff_arr, 0, sizeof(kbuff_arr));
2915 2914
@@ -3014,14 +3013,14 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance,
3014 */ 3013 */
3015 if (ioc->sense_len) { 3014 if (ioc->sense_len) {
3016 /* 3015 /*
3017 * sense_buff points to the location that has the user 3016 * sense_ptr points to the location that has the user
3018 * sense buffer address 3017 * sense buffer address
3019 */ 3018 */
3020 sense_buff = (unsigned long *) ((unsigned long)ioc->frame.raw + 3019 sense_ptr = (u32 *) ((unsigned long)ioc->frame.raw +
3021 ioc->sense_off); 3020 ioc->sense_off);
3022 3021
3023 if (copy_to_user((void __user *)(unsigned long)(*sense_buff), 3022 if (copy_to_user((void __user *)((unsigned long)(*sense_ptr)),
3024 sense, ioc->sense_len)) { 3023 sense, ioc->sense_len)) {
3025 printk(KERN_ERR "megasas: Failed to copy out to user " 3024 printk(KERN_ERR "megasas: Failed to copy out to user "
3026 "sense data\n"); 3025 "sense data\n");
3027 error = -EFAULT; 3026 error = -EFAULT;