From: H Hartley Sweeten Date: Tue, 27 May 2014 17:31:01 +0000 (-0700) Subject: staging: comedi: ni_labpc_isadma: use comedi_cmd pointer X-Git-Tag: firefly_0821_release~176^2~3465^2~39^2~41 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3cd3195251e7c21c2e258f04440483478de3e286;p=firefly-linux-kernel-4.4.55.git staging: comedi: ni_labpc_isadma: use comedi_cmd pointer Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_async pointer. Signed-off-by: H Hartley Sweeten Reviewed-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/ni_labpc_isadma.c b/drivers/staging/comedi/drivers/ni_labpc_isadma.c index 2149596830af..d9f25fdbb728 100644 --- a/drivers/staging/comedi/drivers/ni_labpc_isadma.c +++ b/drivers/staging/comedi/drivers/ni_labpc_isadma.c @@ -87,6 +87,7 @@ void labpc_drain_dma(struct comedi_device *dev) struct labpc_private *devpriv = dev->private; struct comedi_subdevice *s = dev->read_subdev; struct comedi_async *async = s->async; + struct comedi_cmd *cmd = &async->cmd; int status; unsigned long flags; unsigned int max_points, num_points, residue, leftover; @@ -108,12 +109,12 @@ void labpc_drain_dma(struct comedi_device *dev) */ residue = get_dma_residue(devpriv->dma_chan) / sample_size; num_points = max_points - residue; - if (devpriv->count < num_points && async->cmd.stop_src == TRIG_COUNT) + if (cmd->stop_src == TRIG_COUNT && devpriv->count < num_points) num_points = devpriv->count; /* figure out how many points will be stored next time */ leftover = 0; - if (async->cmd.stop_src != TRIG_COUNT) { + if (cmd->stop_src != TRIG_COUNT) { leftover = devpriv->dma_transfer_size / sample_size; } else if (devpriv->count > num_points) { leftover = devpriv->count - num_points; @@ -125,7 +126,7 @@ void labpc_drain_dma(struct comedi_device *dev) for (i = 0; i < num_points; i++) cfc_write_to_buffer(s, devpriv->dma_buffer[i]); - if (async->cmd.stop_src == TRIG_COUNT) + if (cmd->stop_src == TRIG_COUNT) devpriv->count -= num_points; /* set address and count for next transfer */