]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/staging/comedi/drivers/ni_mio_common.c
drivers: Remove explicit invocations of mmiowb()
[linux.git] / drivers / staging / comedi / drivers / ni_mio_common.c
index 5edf59ac6706d3b5cd7d23d0f945895dc1cb8f48..668f2aa16baaa9fcbb2c629b5ab1c45da5d875fb 100644 (file)
@@ -547,7 +547,6 @@ static inline void ni_set_bitfield(struct comedi_device *dev, int reg,
                        reg);
                break;
        }
-       mmiowb();
        spin_unlock_irqrestore(&devpriv->soft_reg_copy_lock, flags);
 }
 
@@ -3545,6 +3544,7 @@ static int ni_cdio_cmdtest(struct comedi_device *dev,
                           struct comedi_subdevice *s, struct comedi_cmd *cmd)
 {
        struct ni_private *devpriv = dev->private;
+       unsigned int bytes_per_scan;
        int err = 0;
 
        /* Step 1 : check if triggers are trivially valid */
@@ -3579,9 +3579,12 @@ static int ni_cdio_cmdtest(struct comedi_device *dev,
        err |= comedi_check_trigger_arg_is(&cmd->convert_arg, 0);
        err |= comedi_check_trigger_arg_is(&cmd->scan_end_arg,
                                           cmd->chanlist_len);
-       err |= comedi_check_trigger_arg_max(&cmd->stop_arg,
-                                           s->async->prealloc_bufsz /
-                                           comedi_bytes_per_scan(s));
+       bytes_per_scan = comedi_bytes_per_scan_cmd(s, cmd);
+       if (bytes_per_scan) {
+               err |= comedi_check_trigger_arg_max(&cmd->stop_arg,
+                                                   s->async->prealloc_bufsz /
+                                                   bytes_per_scan);
+       }
 
        if (err)
                return 3;