|
@@ -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);
|