]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Jan 2023 17:14:38 +0000 (18:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Jan 2023 17:14:38 +0000 (18:14 +0100)
added patches:
comedi-adv_pci1760-fix-pwm-instruction-handling.patch

queue-4.14/comedi-adv_pci1760-fix-pwm-instruction-handling.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/comedi-adv_pci1760-fix-pwm-instruction-handling.patch b/queue-4.14/comedi-adv_pci1760-fix-pwm-instruction-handling.patch
new file mode 100644 (file)
index 0000000..2b15d21
--- /dev/null
@@ -0,0 +1,48 @@
+From 2efb6edd52dc50273f5e68ad863dd1b1fb2f2d1c Mon Sep 17 00:00:00 2001
+From: Ian Abbott <abbotti@mev.co.uk>
+Date: Tue, 3 Jan 2023 14:37:54 +0000
+Subject: comedi: adv_pci1760: Fix PWM instruction handling
+
+From: Ian Abbott <abbotti@mev.co.uk>
+
+commit 2efb6edd52dc50273f5e68ad863dd1b1fb2f2d1c upstream.
+
+(Actually, this is fixing the "Read the Current Status" command sent to
+the device's outgoing mailbox, but it is only currently used for the PWM
+instructions.)
+
+The PCI-1760 is operated mostly by sending commands to a set of Outgoing
+Mailbox registers, waiting for the command to complete, and reading the
+result from the Incoming Mailbox registers.  One of these commands is
+the "Read the Current Status" command.  The number of this command is
+0x07 (see the User's Manual for the PCI-1760 at
+<https://advdownload.advantech.com/productfile/Downloadfile2/1-11P6653/PCI-1760.pdf>.
+The `PCI1760_CMD_GET_STATUS` macro defined in the driver should expand
+to this command number 0x07, but unfortunately it currently expands to
+0x03.  (Command number 0x03 is not defined in the User's Manual.)
+Correct the definition of the `PCI1760_CMD_GET_STATUS` macro to fix it.
+
+This is used by all the PWM subdevice related instructions handled by
+`pci1760_pwm_insn_config()` which are probably all broken.  The effect
+of sending the undefined command number 0x03 is not known.
+
+Fixes: 14b93bb6bbf0 ("staging: comedi: adv_pci_dio: separate out PCI-1760 support")
+Cc: <stable@vger.kernel.org> # v4.5+
+Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
+Link: https://lore.kernel.org/r/20230103143754.17564-1-abbotti@mev.co.uk
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/staging/comedi/drivers/adv_pci1760.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/comedi/drivers/adv_pci1760.c
++++ b/drivers/staging/comedi/drivers/adv_pci1760.c
+@@ -68,7 +68,7 @@
+ #define PCI1760_CMD_CLR_IMB2          0x00    /* Clears IMB2 */
+ #define PCI1760_CMD_SET_DO            0x01    /* Set output state */
+ #define PCI1760_CMD_GET_DO            0x02    /* Read output status */
+-#define PCI1760_CMD_GET_STATUS                0x03    /* Read current status */
++#define PCI1760_CMD_GET_STATUS                0x07    /* Read current status */
+ #define PCI1760_CMD_GET_FW_VER                0x0e    /* Read firware version */
+ #define PCI1760_CMD_GET_HW_VER                0x0f    /* Read hardware version */
+ #define PCI1760_CMD_SET_PWM_HI(x)     (0x10 + (x) * 2) /* Set "hi" period */
index 9e1346a30ae13b3ee67ed680bf0947f35d6ced45..20b016244f087f21e41cfc12ec958dd34c7ff996 100644 (file)
@@ -19,3 +19,4 @@ dmaengine-fix-double-increment-of-client_count-in-dm.patch
 hid-betop-check-shape-of-output-reports.patch
 w1-fix-deadloop-in-__w1_remove_master_device.patch
 w1-fix-warning-after-calling-w1_process.patch
+comedi-adv_pci1760-fix-pwm-instruction-handling.patch