{
        struct ni_private *devpriv = dev->private;
        struct comedi_async *async = s->async;
-       unsigned int i;
+       struct comedi_cmd *cmd = &async->cmd;
        unsigned int length = num_bytes / bytes_per_sample(s);
        unsigned short *array = data;
        unsigned int *larray = data;
+       unsigned int i;
 
        for (i = 0; i < length; i++) {
 #ifdef PCIDMA
                else
                        array[i] += devpriv->ai_offset[chan_index];
                chan_index++;
-               chan_index %= async->cmd.chanlist_len;
+               chan_index %= cmd->chanlist_len;
        }
 }
 
 {
        const struct ni_board_struct *board = comedi_board(dev);
        struct comedi_async *async = s->async;
-       unsigned int range;
-       unsigned int i;
-       unsigned int offset;
+       struct comedi_cmd *cmd = &async->cmd;
        unsigned int length = num_bytes / sizeof(short);
+       unsigned int offset = 1 << (board->aobits - 1);
        unsigned short *array = data;
+       unsigned int range;
+       unsigned int i;
 
-       offset = 1 << (board->aobits - 1);
        for (i = 0; i < length; i++) {
-               range = CR_RANGE(async->cmd.chanlist[chan_index]);
+               range = CR_RANGE(cmd->chanlist[chan_index]);
                if (board->ao_unipolar == 0 || (range & 1) == 0)
                        array[i] -= offset;
 #ifdef PCIDMA
                array[i] = cpu_to_le16(array[i]);
 #endif
                chan_index++;
-               chan_index %= async->cmd.chanlist_len;
+               chan_index %= cmd->chanlist_len;
        }
 }