The comedi_async pointer is used a number of times in this function. For aesthetic reasons, use a local variable for the pointer. Also, since was already have a pointer to the "cmd" use that in the for loop instead of s->async->cmd (or even async->cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/s626.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/staging/comedi/drivers/s626.c b/drivers/staging/comedi/drivers/s626.c index b655437..24fc5cc 100644 --- a/drivers/staging/comedi/drivers/s626.c +++ b/drivers/staging/comedi/drivers/s626.c @@ -732,7 +732,8 @@ static irqreturn_t s626_irq_handler(int irq, void *d) struct comedi_device *dev = d; struct s626_private *devpriv = dev->private; struct comedi_subdevice *s = dev->read_subdev; - struct comedi_cmd *cmd = &s->async->cmd; + struct comedi_async *async = s->async; + struct comedi_cmd *cmd = &async->cmd; struct enc_private *k; unsigned long flags; int32_t *readaddr; @@ -767,21 +768,21 @@ static irqreturn_t s626_irq_handler(int irq, void *d) readaddr = (int32_t *) devpriv->ANABuf.LogicalBase + 1; /* get the data and hand it over to comedi */ - for (i = 0; i < (s->async->cmd.chanlist_len); i++) { + for (i = 0; i < cmd->chanlist_len; i++) { /* Convert ADC data to 16-bit integer values and copy to application */ /* buffer. */ tempdata = s626_ai_reg_to_uint((int)*readaddr); readaddr++; /* put data into read buffer */ - /* comedi_buf_put(s->async, tempdata); */ + /* comedi_buf_put(async, tempdata); */ if (cfc_write_to_buffer(s, tempdata) == 0) printk ("s626_irq_handler: cfc_write_to_buffer error!\n"); } /* end of scan occurs */ - s->async->events |= COMEDI_CB_EOS; + async->events |= COMEDI_CB_EOS; if (!(devpriv->ai_continous)) devpriv->ai_sample_count--; @@ -792,7 +793,7 @@ static irqreturn_t s626_irq_handler(int irq, void *d) MC_DISABLE(P_MC1, MC1_ERPS1); /* send end of acquisition */ - s->async->events |= COMEDI_CB_EOA; + async->events |= COMEDI_CB_EOA; /* disable master interrupt */ irqstatus = 0; -- 1.8.1.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel