Skip to contentSkip to conversation

Patch "staging: comedi: cb_pcimdas: fix handlers for DI and DO subdevices" has been added to the 4.1-stable tree

PATCH [email protected] 1 participant 1 message Jul 30, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

staging: comedi: cb_pcimdas: fix handlers for DI and DO subdevices

to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
staging-comedi-cb_pcimdas-fix-handlers-for-di-and-do-subdevices.patch
and it can be found in the queue-4.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From b08ad6657aacf9b5d7c4b22de2ba891b152d0528 Mon Sep 17 00:00:00 2001

From: Ian Abbott <[email protected]>
Date: Fri, 12 Jun 2015 16:37:41 +0100
Subject: staging: comedi: cb_pcimdas: fix handlers for DI and DO subdevices

From: Ian Abbott <[email protected]>

commit b08ad6657aacf9b5d7c4b22de2ba891b152d0528 upstream.

Normally, low-level Comedi drivers set an insn_bits handler for digital input (DI), digital output (DO) and digital input/output (DIO) subdevice types to handle normal reading and writing of digital channels. The "cb_pcimdas" driver currently has an insn_read handler for the DI subdevice and an insn_write handler for the DO subdevice. However, the actual handler functions cb_pcimdas_di_insn_read() and cb_pcimdas_do_insn_write() are written to behave like insn_bits handlers. Something's wrong there! To fix it, set the functions as insn_bits handlers and rename them for consistency.

Fixes e56d03dee14a ("staging: comedi: cb_pcimdas: add main connector digital input/output")
---
 drivers/staging/comedi/drivers/cb_pcimdas.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/staging/comedi/drivers/cb_pcimdas.c +4 -4
@@ -243,7 +243,7 @@ static int cb_pcimdas_ao_insn_write(stru
 	return insn->n;
 }
 
-static int cb_pcimdas_di_insn_read(struct comedi_device *dev,
+static int cb_pcimdas_di_insn_bits(struct comedi_device *dev,
 				   struct comedi_subdevice *s,
 				   struct comedi_insn *insn,
 				   unsigned int *data)
@@ -258,7 +258,7 @@ static int cb_pcimdas_di_insn_read(struc
 	return insn->n;
 }
 
-static int cb_pcimdas_do_insn_write(struct comedi_device *dev,
+static int cb_pcimdas_do_insn_bits(struct comedi_device *dev,
 				    struct comedi_subdevice *s,
 				    struct comedi_insn *insn,
 				    unsigned int *data)
@@ -424,7 +424,7 @@ static int cb_pcimdas_auto_attach(struct
 	s->n_chan	= 4;
 	s->maxdata	= 1;
 	s->range_table	= &range_digital;
-	s->insn_read	= cb_pcimdas_di_insn_read;
+	s->insn_bits	= cb_pcimdas_di_insn_bits;
 
 	/* Digital Output subdevice (main connector) */
 	s = &dev->subdevices[4];
@@ -433,7 +433,7 @@ static int cb_pcimdas_auto_attach(struct
 	s->n_chan	= 4;
 	s->maxdata	= 1;
 	s->range_table	= &range_digital;
-	s->insn_write	= cb_pcimdas_do_insn_write;
+	s->insn_bits	= cb_pcimdas_do_insn_bits;
 
 	/* Counter subdevice (8254) */
 	s = &dev->subdevices[5];

Patches currently in stable-queue which might be from [email protected] are

queue-4.1/staging-comedi-cb_pcimdas-fix-handlers-for-di-and-do-subdevices.patch