]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
serial: zs: Fix swapped RI/DSR modem line transition counting
authorMaciej W. Rozycki <macro@orcam.me.uk>
Fri, 10 Apr 2026 17:19:31 +0000 (18:19 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 May 2026 15:01:55 +0000 (17:01 +0200)
Fix a thinko in the status interrupt handler that has caused counters
for the RI and DSR modem line transitions to be used for the other line
each.

Fixes: 8b4a40809e53 ("zs: move to the serial subsystem")
Cc: stable <stable@kernel.org>
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Link: https://patch.msgid.link/alpine.DEB.2.21.2604101747110.29980@angie.orcam.me.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/zs.c

index 72a3c0d90f409adfd696a4c4f381fe14d36ce6ab..31e12645f66b15d62163ef687b9c03c1f38316df 100644 (file)
@@ -680,9 +680,9 @@ static void zs_status_handle(struct zs_port *zport, struct zs_port *zport_a)
                        uart_handle_dcd_change(uport,
                                               zport->mctrl & TIOCM_CAR);
                if (delta & TIOCM_RNG)
-                       uport->icount.dsr++;
-               if (delta & TIOCM_DSR)
                        uport->icount.rng++;
+               if (delta & TIOCM_DSR)
+                       uport->icount.dsr++;
 
                if (delta)
                        wake_up_interruptible(&uport->state->port.delta_msr_wait);