linux-uconsole/drivers/staging
Ian Abbott e885d1c515 staging: comedi: mf6x4: Fix AI end-of-conversion detection
commit 56c90457eb upstream.

I have had reports from two different people that attempts to read the
analog input channels of the MF624 board fail with an `ETIMEDOUT` error.

After triggering the conversion, the code calls `comedi_timeout()` with
`mf6x4_ai_eoc()` as the callback function to check if the conversion is
complete.  The callback returns 0 if complete or `-EBUSY` if not yet
complete.  `comedi_timeout()` returns `-ETIMEDOUT` if it has not
completed within a timeout period which is propagated as an error to the
user application.

The existing code considers the conversion to be complete when the EOLC
bit is high.  However, according to the user manuals for the MF624 and
MF634 boards, this test is incorrect because EOLC is an active low
signal that goes high when the conversion is triggered, and goes low
when the conversion is complete.  Fix the problem by inverting the test
of the EOLC bit state.

Fixes: 04b565021a ("comedi: Humusoft MF634 and MF624 DAQ cards driver")
Cc: <stable@vger.kernel.org> # v4.4+
Cc: Rostislav Lisovy <lisovy@gmail.com>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Link: https://lore.kernel.org/r/20201207145806.4046-1-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:54:10 +01:00
..
android staging: ion: fix spelling mistake in function name "detatch" -> "detach" 2020-08-18 15:56:27 +02:00
axis-fifo
board
clocking-wizard staging: Replace HTTP links with HTTPS ones 2020-07-20 10:22:47 +02:00
comedi staging: comedi: mf6x4: Fix AI end-of-conversion detection 2020-12-30 11:54:10 +01:00
emxx_udc staging/emxx_udc: fix indenting issue on a couple of statements 2020-09-22 09:49:32 +02:00
fbtft
fieldbus staging: fieldbus: anybuss: jump to correct label in an error path 2020-10-27 13:24:51 +01:00
fsl-dpaa2 staging: dpaa2-switch: add a dpaa2_switch prefix to all functions in ethsw.c 2020-10-10 12:33:41 +02:00
fwserial staging: fwserial: Remove repeated word and 2020-09-13 09:20:12 +02:00
gasket staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c 2020-12-30 11:53:10 +01:00
gdm724x staging: gdm724x: Use fallthrough pseudo-keyword 2020-07-28 10:18:52 +02:00
goldfish
greybus staging: greybus: audio: Fix possible leak free widgets in gbaudio_dapm_free_controls 2020-12-30 11:53:39 +01:00
gs_fpgaboot staging: Replace HTTP links with HTTPS ones 2020-07-20 10:22:47 +02:00
hikey9xx staging: mfd: hi6421-spmi-pmic: fix error return code in hi6421_spmi_pmic_probe() 2020-12-30 11:53:19 +01:00
iio staging:iio:documentation: Drop most generic docs 2020-09-16 19:12:00 +01:00
kpc2000 staging: kpc2000: kpc_dma: fix spelling mistake "for for" -> "for" 2020-08-28 12:19:15 +02:00
ks7010 staging: ks7010: convert tasklets to use new tasklet_setup() API 2020-09-16 13:12:59 +02:00
media media: cedrus: fix reference leak in cedrus_start_streaming 2020-12-30 11:53:12 +01:00
most drivers: most: add character device interface driver 2020-09-07 15:16:26 +02:00
mt7621-dma staging: mt7621-dma: convert tasklets to use new tasklet_setup() API 2020-09-16 13:13:00 +02:00
mt7621-dts
mt7621-pci staging: mt7621-pci: avoid to request pci bus resources 2020-11-06 11:11:28 +01:00
mt7621-pci-phy
mt7621-pinctrl
netlogic staging: netlogic: clear alignment style issues 2020-08-02 12:47:37 +02:00
nvec Staging: nvec: Removes repeated word typo in comment 2020-10-01 10:55:17 +02:00
octeon staging: octeon: Drop on uncorrectable alignment or FCS error 2020-10-27 13:18:50 +01:00
octeon-usb drivers: staging: octeon-usb: fixed codestyle check warning 2020-09-13 09:21:15 +02:00
olpc_dcon
pi433 staging: pi433: break long lines 2020-09-04 15:39:07 +02:00
qlge Staging / IIO driver updates for 5.10-rc1 2020-10-15 09:46:23 -07:00
ralink-gdma staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK 2020-11-06 11:12:49 +01:00
rtl8188eu staging: rtl8188eu: Fix long lines 2020-10-09 15:10:47 +02:00
rtl8192e mm: remove kzfree() compatibility definition 2020-10-25 11:39:02 -07:00
rtl8192u mm: remove kzfree() compatibility definition 2020-10-25 11:39:02 -07:00
rtl8712 staging: rtl8712: Fix enqueue_reorder_recvframe() 2020-10-01 10:55:17 +02:00
rtl8723bs staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids 2020-11-06 17:06:29 +01:00
rts5208 staging: rts5208: rtsx_transport.c: Fix lines ending with parentheses 2020-09-13 09:20:31 +02:00
sm750fb Staging: sm750fb: Fix basic coding style issues 2020-08-28 12:19:15 +02:00
unisys staging: unisys: visorhba: remove redundant initialization of variables scsicmd_id and rc 2020-07-23 20:34:34 +02:00
vc04_services staging: bcm2835: fix vchiq_mmal dependencies 2020-12-30 11:53:39 +01:00
vme
vt6655 staging: vt6655: Add spaces around arithmetic operators 2020-09-13 09:20:38 +02:00
vt6656
wfx This pull contains a series of warning fixes from Mauro; once applied, the 2020-11-03 13:14:14 -08:00
wlan-ng staging: wlan-ng: convert tasklets to use new tasklet_setup() API 2020-09-16 13:13:00 +02:00
Kconfig staging: spmi: hisi-spmi-controller: add it to the building system 2020-08-18 16:15:23 +02:00
Makefile staging: spmi: hisi-spmi-controller: add it to the building system 2020-08-18 16:15:23 +02:00