summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/cppc_acpi.c
diff options
context:
space:
mode:
authorIan Abbott <abbotti@mev.co.uk>2021-02-23 14:30:44 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-17 16:43:50 +0100
commite83788603af8d1d274c8b8e797bdc8b510929f6a (patch)
tree2cd1e99a5fdf391bd04509fb93a113dab76a60b1 /drivers/acpi/cppc_acpi.c
parentc5fc0c03d7835d0831e4aff41edcfe6576361290 (diff)
downloadlinux-stable-e83788603af8d1d274c8b8e797bdc8b510929f6a.tar.gz
linux-stable-e83788603af8d1d274c8b8e797bdc8b510929f6a.tar.bz2
linux-stable-e83788603af8d1d274c8b8e797bdc8b510929f6a.zip
staging: comedi: adv_pci1710: Fix endian problem for AI command data
commit b2e78630f733a76508b53ba680528ca39c890e82 upstream. 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 variables holding the sample value to `unsigned short`. The type of the `val` parameter of `pci1710_ai_read_sample()` is changed to `unsigned short *` accordingly. The type of the `val` variable in `pci1710_ai_insn_read()` is also changed to `unsigned short` since its address is passed to `pci1710_ai_read_sample()`. Fixes: a9c3a015c12f ("staging: comedi: adv_pci1710: use comedi_buf_write_samples()") Cc: <stable@vger.kernel.org> # 4.0+ Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210223143055.257402-4-abbotti@mev.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/acpi/cppc_acpi.c')
0 files changed, 0 insertions, 0 deletions