/*
                         * 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.
                                /*
                                 * 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;
                         * 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);
                                }
                                /*
                                 * 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,
                         * 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);