From: Pranav Mahesh Phansalkar <pranav.phansalkar@oss.qualcomm.com>
To: Manivannan Sadhasivam <mani@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
linux-arm-msm@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
Chris Lew <christopher.lew@oss.qualcomm.com>,
Deepak Kumar Singh <deepak.singh@oss.qualcomm.com>
Subject: Re: [PATCH v2] net: qrtr: Send HELLO message on endpoint register
Date: Thu, 20 Aug 2026 12:05:54 +0530 [thread overview]
Message-ID: <fc1c54e2-719a-4fda-a1f6-df1754046235@oss.qualcomm.com> (raw)
In-Reply-To: <6smj6xbr4gumprpplrrw46lhe6wj63wbmcfe3nadcyp6om5cbb@tk6xtwtfz55r>
On 8/18/2026 3:24 PM, Manivannan Sadhasivam wrote:
> On Fri, Aug 07, 2026 at 07:23:04PM +0530, Pranav Mahesh Phansalkar wrote:
>> From: Chris Lew <christopher.lew@oss.qualcomm.com>
>>
>> HELLO is currently handled entirely by the name server (NS): it is
>> sent once as a broadcast when the NS initializes, and again as a
>> reply whenever the NS receives an inbound HELLO from a remote.
>>
>> In a slave model, neither endpoint initiates a HELLO on its own;
> What is a 'slave model'? Explain please.
Some chipsets attached over MHI operate as slaves: they wait for the
host to send HELLO first and never initiate. Since the host cannot tell
which remotes behave this way, if the host also only replies, both
sides wait on each other indefinitely and no HELLO is ever exchanged.
>
>> each side only replies to one it receives. Since both sides are waiting
>> on the other to speak first, no HELLO is ever sent, stalling further
>> communication.
>>
> What about the 'say_hello()' called during qrtr_ns_init()?
That call fires once during qrtr module init, before any transport (mhi/smd/tun)
can register an endpoint, so qrtr_all_nodes is empty and it reaches no remote peer.
We have reviewed it and agree it can be removed as dead code in this series.
>
>> To fix this:
>> - Transfer HELLO handshake ownership to the core layer.
>> - Schedule a work item on endpoint registration to send a HELLO once
>> the name server is bound, retrying on failure.
>> - Enforce HELLO-first ordering by dropping non-HELLO packets until
>> the HELLO is confirmed sent, using bool hello_sent guarded by
>> ep_lock to make the gate check atomic with xmit().
>> - Skip nodes with nid == QRTR_EP_NID_AUTO in bcast_enqueue().
>> - Remove say_hello() from the name server's ctrl_cmd_hello() handler;
>> the core layer is now the sole sender of the outbound HELLO.
>>
> From the internal QMUX documentation, I can see that a node acting as a slave
> should only send HELLO packet only as a response to a HELLO packet, which
> contradicts with that this patch is doing.
>
> Since the driver cannot differentiate between master/slave mode, it currently
> broadcasts HELLO during initialization and sends HELLO as a response to the
> HELLO packet received.
Agreed — that is exactly why we are moving to sending HELLO at every
endpoint registration instead of relying on the one-time NS-init
broadcast or reply-on-receipt, neither of which reliably reaches a
slave-mode remote like the MHI WLAN case.
>
> - Mani
>
next prev parent reply other threads:[~2026-08-20 6:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 13:53 Pranav Mahesh Phansalkar
2026-08-13 1:32 ` Jakub Kicinski
2026-08-18 5:02 ` Pranav Mahesh Phansalkar
2026-08-18 9:54 ` Manivannan Sadhasivam
2026-08-20 6:35 ` Pranav Mahesh Phansalkar [this message]
2026-09-01 9:46 ` Manivannan Sadhasivam
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=fc1c54e2-719a-4fda-a1f6-df1754046235@oss.qualcomm.com \
--to=pranav.phansalkar@oss.qualcomm.com \
--cc=christopher.lew@oss.qualcomm.com \
--cc=davem@davemloft.net \
--cc=deepak.singh@oss.qualcomm.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mani@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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
all inboxes | Powered by JetHome®