From afbbf7ee5e9e3c4dbf56a85ddadec9d5a158cd23 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 26 Mar 2013 10:27:33 -0700 Subject: [PATCH] --- yaml --- r: 363764 b: refs/heads/master c: 7c00782b1d4b9073ae38891d636302b1267285af h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/comedi/drivers/ni_labpc.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 19dc77642c2d..796be393a0e4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 198ac9dc7f0d06cd760d376c6a6c6217c5968d4a +refs/heads/master: 7c00782b1d4b9073ae38891d636302b1267285af diff --git a/trunk/drivers/staging/comedi/drivers/ni_labpc.c b/trunk/drivers/staging/comedi/drivers/ni_labpc.c index bae72eb73451..22f8d45ae6d5 100644 --- a/trunk/drivers/staging/comedi/drivers/ni_labpc.c +++ b/trunk/drivers/staging/comedi/drivers/ni_labpc.c @@ -1539,10 +1539,16 @@ static int labpc_calib_insn_write(struct comedi_device *dev, struct comedi_insn *insn, unsigned int *data) { - int channel = CR_CHAN(insn->chanspec); + unsigned int chan = CR_CHAN(insn->chanspec); - write_caldac(dev, channel, data[0]); - return 1; + /* + * Only write the last data value to the caldac. Preceding + * data would be overwritten anyway. + */ + if (insn->n > 0) + write_caldac(dev, chan, data[insn->n - 1]); + + return insn->n; } static int labpc_calib_insn_read(struct comedi_device *dev,