[PATCH v2 0/2] rpmsg: glink: Fix version handshake race against a late RX interrupt
From: Chunkai Deng
Date: Mon Aug 24 2026 - 03:06:52 EST
The glink transports enable their receive interrupt only after
qcom_glink_native_probe() has returned, while the version command is sent
from within native_probe(). A remote that answers quickly can have its
version ACK dropped, and the handshake never completes.
Patch 1 moves the version command out into a new
qcom_glink_native_start(), which the transports call once their interrupt
is live. Patch 2 drops IRQF_NO_AUTOEN, which is no longer needed once the
ordering is explicit.
---
Changes in v2:
- Drop IRQF_NO_AUTOEN in a second patch, as Konrad suggested on v1.
- Keep a failing chrdev registration non-fatal in native_start() and note
it in the kernel-doc; v1 turned it into a probe failure by mistake.
- Add Assisted-by tags per Documentation/process/coding-assistants.rst.
- Link to v1: https://patch.msgid.link/20260618-rpmsg-glink-split-protocol-start-v1-1-c4f93986cdb4@xxxxxxxxxxxxxxxx
---
Chunkai Deng (2):
rpmsg: glink: Split protocol start out of native_probe
rpmsg: glink: Request the RX interrupt already enabled
drivers/rpmsg/qcom_glink_native.c | 32 ++++++++++++++++++++++++++++----
drivers/rpmsg/qcom_glink_native.h | 1 +
drivers/rpmsg/qcom_glink_rpm.c | 30 ++++++++++++++++++++----------
drivers/rpmsg/qcom_glink_smem.c | 27 +++++++++++++++++----------
4 files changed, 66 insertions(+), 24 deletions(-)
---
base-commit: a225caacc36546a09586e3ece36c0313146e7da9
change-id: 20260604-rpmsg-glink-split-protocol-start-3df74dbd5c94
Best regards,
--
Chunkai Deng <chunkai.deng@xxxxxxxxxxxxxxxx>