Ian Abbott
e03b29b55f
comedi: dmm32at: serialize use of paged registers
...
Some of the hardware registers of the DMM-32-AT board are multiplexed,
using the least significant two bits of the Miscellaneous Control
register to select the function of registers at offsets 12 to 15:
00 => 8254 timer/counter registers are accessible
01 => 8255 digital I/O registers are accessible
10 => Reserved
11 => Calibration registers are accessible
The interrupt service routine (`dmm32at_isr()`) clobbers the bottom two
bits of the register with value 00, which would interfere with access to
the 8255 registers by the `dm32at_8255_io()` function (used for Comedi
instruction handling on the digital I/O subdevice).
Make use of the generic Comedi device spin-lock `dev->spinlock` (which
is otherwise unused by this driver) to serialize access to the
miscellaneous control register and paged registers.
Fixes: 3c501880ac ("Staging: comedi: add dmm32at driver")
Cc: stable@vger.kernel.org
Signed-off-by: Ian Abbott <abbotti@mev.co.uk >
Link: https://patch.msgid.link/20260112162835.91688-1-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2026-01-16 16:43:51 +01:00
..
2024-09-11 16:03:28 +02:00
2021-05-13 20:31:44 +02:00
2023-10-05 13:34:04 +02:00
2025-11-26 14:20:20 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2025-09-06 16:03:25 +02:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2025-05-08 20:24:14 +02:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2023-01-19 17:24:47 +01:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2025-07-16 15:02:44 +02:00
2021-04-15 09:26:25 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2025-11-26 13:57:16 +01:00
2023-10-05 13:34:04 +02:00
2024-04-11 15:12:07 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2024-03-05 14:21:42 +00:00
2025-11-26 14:20:10 +01:00
2022-07-22 17:24:47 -05:00
2021-11-26 16:48:59 +01:00
2025-07-16 15:02:44 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2024-02-18 19:17:11 +01:00
2021-04-15 09:26:25 +02:00
2025-06-08 09:07:37 +02:00
2025-07-16 15:02:26 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2025-07-16 15:02:44 +02:00
2026-01-16 16:43:51 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2025-06-08 09:07:37 +02:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2025-09-06 16:03:25 +02:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2025-11-26 14:19:00 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2025-11-24 12:43:28 -08:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2025-04-17 10:56:11 +02:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2024-07-31 13:11:43 +02:00
2021-11-26 16:48:59 +01:00
2025-04-25 15:53:18 +02:00
2024-07-31 13:11:43 +02:00
2022-02-25 12:08:52 +01:00
2021-11-26 16:48:59 +01:00
2024-07-31 13:11:43 +02:00
2021-04-15 09:26:25 +02:00
2021-05-21 14:38:44 +02:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2023-10-05 13:34:04 +02:00
2025-08-19 12:56:16 +02:00
2021-11-26 16:48:59 +01:00
2025-07-16 15:02:44 +02:00
2023-10-05 13:34:04 +02:00
2025-11-26 14:19:15 +01:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2023-10-05 13:34:04 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-04-15 09:26:25 +02:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2021-11-26 16:48:59 +01:00
2024-10-02 17:23:23 -04:00
2024-04-11 15:16:23 +02:00
2021-04-15 09:26:25 +02:00