[PATCH] staging: comedi: ni_mio_common: fix wrong insn_write handler

From: Ian Abbott
Date: Wed Jul 20 2016 - 12:08:05 EST


For counter subdevices, the `s->insn_write` handler is being set to the
wrong function, `ni_tio_insn_read()`. It should be
`ni_tio_insn_write()`.

Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
Reported-by: Ãric Piel <piel@xxxxxxxxxx>
Fixes: 10f74377eec3 ("staging: comedi: ni_tio: make ni_tio_winsn() a
proper comedi (*insn_write)"
Cc: <stable@xxxxxxxxxxxxxxx> # 3.17+
---
The bug applies to kernel versions 3.14 onwards, but "git am" failed to
apply the patch to kernels 3.14, 3.15, and 3.16.
---
drivers/staging/comedi/drivers/ni_mio_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c
index 8dabb19..3cf3c05 100644
--- a/drivers/staging/comedi/drivers/ni_mio_common.c
+++ b/drivers/staging/comedi/drivers/ni_mio_common.c
@@ -5480,7 +5480,7 @@ static int ni_E_init(struct comedi_device *dev,
s->maxdata = (devpriv->is_m_series) ? 0xffffffff
: 0x00ffffff;
s->insn_read = ni_tio_insn_read;
- s->insn_write = ni_tio_insn_read;
+ s->insn_write = ni_tio_insn_write;
s->insn_config = ni_tio_insn_config;
#ifdef PCIDMA
if (dev->irq && devpriv->mite) {
--
2.8.1