[SCSI] megaraid: fix compiler warnings
authorMartin Bligh <mbligh@google.com>
Wed, 23 May 2007 23:11:46 +0000 (16:11 -0700)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sat, 26 May 2007 16:46:38 +0000 (11:46 -0500)
The user ioctl mailbox can only support a 32 bit address for the
commands structure.  This is fine, since the area it's pointing to is
allocated with pci_alloc_consistent(), so it should be physically <
4GB.  Thus kill the ptr to u32 conversion warnings on 64 bit.

Signed-off-by: Martin J. Bligh <mbligh@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: "Patro, Sumant" <Sumant.Patro@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/megaraid.c

index 3cce75d..40ee07d 100644 (file)
@@ -3571,7 +3571,7 @@ megadev_ioctl(struct inode *inode, struct file *filep, unsigned int cmd,
                        /*
                         * The user passthru structure
                         */
-                       upthru = (mega_passthru __user *)MBOX(uioc)->xferaddr;
+                       upthru = (mega_passthru __user *)(unsigned long)MBOX(uioc)->xferaddr;
 
                        /*
                         * Copy in the user passthru here.
@@ -3623,7 +3623,7 @@ megadev_ioctl(struct inode *inode, struct file *filep, unsigned int cmd,
                                /*
                                 * Get the user data
                                 */
-                               if( copy_from_user(data, (char __user *)uxferaddr,
+                               if( copy_from_user(data, (char __user *)(unsigned long) uxferaddr,
                                                        pthru->dataxferlen) ) {
                                        rval = (-EFAULT);
                                        goto freemem_and_return;
@@ -3649,7 +3649,7 @@ megadev_ioctl(struct inode *inode, struct file *filep, unsigned int cmd,
                         * Is data going up-stream
                         */
                        if( pthru->dataxferlen && (uioc.flags & UIOC_RD) ) {
-                               if( copy_to_user((char __user *)uxferaddr, data,
+                               if( copy_to_user((char __user *)(unsigned long) uxferaddr, data,
                                                        pthru->dataxferlen) ) {
                                        rval = (-EFAULT);
                                }
@@ -3702,7 +3702,7 @@ freemem_and_return:
                                /*
                                 * Get the user data
                                 */
-                               if( copy_from_user(data, (char __user *)uxferaddr,
+                               if( copy_from_user(data, (char __user *)(unsigned long) uxferaddr,
                                                        uioc.xferlen) ) {
 
                                        pci_free_consistent(pdev,
@@ -3742,7 +3742,7 @@ freemem_and_return:
                         * Is data going up-stream
                         */
                        if( uioc.xferlen && (uioc.flags & UIOC_RD) ) {
-                               if( copy_to_user((char __user *)uxferaddr, data,
+                               if( copy_to_user((char __user *)(unsigned long) uxferaddr, data,
                                                        uioc.xferlen) ) {
 
                                        rval = (-EFAULT);