struct comedi_subdevice *s;
        struct comedi_async *async;
        int ret = 0;
-       unsigned int __user *chanlist_saver = NULL;
+       unsigned int __user *user_chanlist;
 
        if (copy_from_user(&cmd, arg, sizeof(struct comedi_cmd))) {
                DPRINTK("bad cmd address\n");
                return -EFAULT;
        }
        /* save user's chanlist pointer so it can be restored later */
-       chanlist_saver = cmd.chanlist;
+       user_chanlist = (unsigned int __user *)cmd.chanlist;
 
        if (cmd.subdev >= dev->n_subdevices) {
                DPRINTK("%d no such subdevice\n", cmd.subdev);
                goto cleanup;
        }
 
-       if (copy_from_user(async->cmd.chanlist, cmd.chanlist,
+       if (copy_from_user(async->cmd.chanlist, user_chanlist,
                           async->cmd.chanlist_len * sizeof(int))) {
                DPRINTK("fault reading chanlist\n");
                ret = -EFAULT;
                DPRINTK("test returned %d\n", ret);
                cmd = async->cmd;
                /* restore chanlist pointer before copying back */
-               cmd.chanlist = chanlist_saver;
+               cmd.chanlist = (unsigned int __force *)user_chanlist;
                cmd.data = NULL;
                if (copy_to_user(arg, &cmd, sizeof(struct comedi_cmd))) {
                        DPRINTK("fault writing cmd\n");
        struct comedi_subdevice *s;
        int ret = 0;
        unsigned int *chanlist = NULL;
-       unsigned int __user *chanlist_saver = NULL;
+       unsigned int __user *user_chanlist;
 
        if (copy_from_user(&cmd, arg, sizeof(struct comedi_cmd))) {
                DPRINTK("bad cmd address\n");
                return -EFAULT;
        }
        /* save user's chanlist pointer so it can be restored later */
-       chanlist_saver = cmd.chanlist;
+       user_chanlist = (unsigned int __user *)cmd.chanlist;
 
        if (cmd.subdev >= dev->n_subdevices) {
                DPRINTK("%d no such subdevice\n", cmd.subdev);
                        goto cleanup;
                }
 
-               if (copy_from_user(chanlist, cmd.chanlist,
+               if (copy_from_user(chanlist, user_chanlist,
                                   cmd.chanlist_len * sizeof(int))) {
                        DPRINTK("fault reading chanlist\n");
                        ret = -EFAULT;
        ret = s->do_cmdtest(dev, s, &cmd);
 
        /* restore chanlist pointer before copying back */
-       cmd.chanlist = chanlist_saver;
+       cmd.chanlist = (unsigned int __force *)user_chanlist;
 
        if (copy_to_user(arg, &cmd, sizeof(struct comedi_cmd))) {
                DPRINTK("bad cmd address\n");