From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
Helge Deller <deller@gmx.de>
Cc: linux-kernel@vger.kernel.org, linux-input@vger.kernel.org,
linux-parisc@vger.kernel.org, sashiko-bot@kernel.org
Subject: [PATCH 0/7] Input: gscps2: cleanups and locking fixes
Date: Sun, 30 Aug 2026 13:52:45 -0700 [thread overview]
Message-ID: <20260830-gscps2-v1-0-c733d4cae7f9@gmail.com> (raw)
This series cleans up the PA-RISC GSC PS/2 driver (gscps2) and addresses
several concurrency, locking, and interrupt handling issues.
The series performs code style and structural cleanups, including removing
forward declarations, converting printk calls to dev_* logging helpers,
and simplifying enable/disable handling.
Additionally, it resolves several concurrency, locking, and interrupt
handling issues:
- Protect ps2port_list traversal with RCU and manage port registration in
open/close rather than probe/remove to avoid use-after-free during
device unregistration.
- Protect ring buffer indices with ps2port->lock in read and report
helpers while releasing the lock before calling serio_interrupt().
- Assert and enforce ps2port->lock across gscps2_flush() callers.
- Return IRQ_NONE when no data was handled on shared interrupt lines to
preserve core spurious interrupt detection.
- Serialize concurrent interrupt handlers using a try-lock to guarantee
in-order byte delivery.
- Drop the 6 ms busy-wait and manual interrupt pump on transmit in favor
of standard asynchronous hardware interrupt delivery.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
Dmitry Torokhov (7):
Input: gscps2 - clean up driver code style and structure
Input: gscps2 - use RCU for ps2port_list and manage it in open/close
Input: gscps2 - protect buffer access in read and report helpers
Input: gscps2 - serialize hardware and buffer access in gscps2_flush()
Input: gscps2 - return IRQ_NONE when interrupt is not handled
Input: gscps2 - serialize concurrent interrupt handlers
Input: gscps2 - drop busy-wait and manual interrupt pump on transmit
drivers/input/serio/gscps2.c | 277 ++++++++++++++++++++++---------------------
1 file changed, 139 insertions(+), 138 deletions(-)
---
base-commit: e30626823a406725ce29bc75cb8ec467d3e1e326
change-id: 20260809-gscps2-affec5caa7f9
Thanks.
--
Dmitry
next reply other threads:[~2026-08-30 20:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-30 20:52 Dmitry Torokhov [this message]
2026-08-30 20:52 ` [PATCH 1/7] Input: gscps2 - clean up driver code style and structure Dmitry Torokhov
2026-08-30 20:52 ` [PATCH 2/7] Input: gscps2 - use RCU for ps2port_list and manage it in open/close Dmitry Torokhov
2026-08-30 20:52 ` [PATCH 3/7] Input: gscps2 - protect buffer access in read and report helpers Dmitry Torokhov
2026-08-30 20:52 ` [PATCH 4/7] Input: gscps2 - serialize hardware and buffer access in gscps2_flush() Dmitry Torokhov
2026-08-30 20:52 ` [PATCH 5/7] Input: gscps2 - return IRQ_NONE when interrupt is not handled Dmitry Torokhov
2026-08-30 20:52 ` [PATCH 6/7] Input: gscps2 - serialize concurrent interrupt handlers Dmitry Torokhov
2026-08-30 20:52 ` [PATCH 7/7] Input: gscps2 - drop busy-wait and manual interrupt pump on transmit Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260830-gscps2-v1-0-c733d4cae7f9@gmail.com \
--to=dmitry.torokhov@gmail.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=deller@gmx.de \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=sashiko-bot@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox