Skip to contentSkip to conversation

patch "staging: comedi: me4000: Fix endian problem for AI command data" added to staging-linus

PATCH [email protected] 1 participant 1 message Mar 3, 2021

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: me4000: Fix endian problem for AI command data

to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.

The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)

The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.

If you have any questions about this process, please let me know.

From b92634b83403077c520456d593261bb4f4758d71 Mon Sep 17 00:00:00 2001
From: Ian Abbott <[email protected]>
Date: Tue, 23 Feb 2021 14:30:48 +0000
Subject: staging: comedi: me4000: Fix endian problem for AI command data

The analog input subdevice supports Comedi asynchronous commands that use Comedi's 16-bit sample format. However, the calls to comedi_buf_write_samples() are passing the address of a 32-bit integer variable. On bigendian machines, this will copy 2 bytes from the wrong end of the 32-bit value. Fix it by changing the type of the variable holding the sample value to unsigned short.

Fixes de88924f67d1 ("staging: comedi: me4000: use comedi_buf_write_samples()")
Cc <[email protected]> # 3.19+
---
 drivers/staging/comedi/drivers/me4000.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/staging/comedi/drivers/me4000.c +1 -1
index 726e40dc17b6..0d3d4cafce2e 100644
@@ -924,7 +924,7 @@ static irqreturn_t me4000_ai_isr(int irq, void *dev_id)
 	struct comedi_subdevice *s = dev->read_subdev;
 	int i;
 	int c = 0;
-	unsigned int lval;
+	unsigned short lval;
 
 	if (!dev->attached)
 		return IRQ_NONE;
Signature · 1 line
2.30.1