On Tue, Jul 28, 2026 at 04:06:50PM +0100, Srinivas Kandagatla wrote: > > > On 7/28/26 8:38 AM, Shawn Guo wrote: > > Newer DSP firmware implements a PD (Protection Domain) notification > > framework that sends PD state notifications upon request. The PD exit > > notification is unconditionally sent by the DSP with a fixed sentinel > > 0xABCDABCD in the context field. > > > > fastrpc_rpmsg_callback() treats every inbound message as an invoke > > response, so the sentinel is masked and shifted like any real response > > ((0xABCDABCD & 0xFF0) >> 4 == 188) and looked up in the channel's > > context idr. > > > > This is not merely cosmetic. In the common case idr slot 188 is empty, > > the lookup fails, and the driver only logs a spurious "No context ID > > matches response" error on every teardown. But the context idr is shared > > by every protection domain and the listener thread on the channel and is > > filled cyclically over [1, FASTRPC_CTX_MAX]. If slot 188 holds a live > > context when the sentinel arrives, the sentinel's return value is written > > into that unrelated in-flight invocation and it is completed early. > > > > Since neither the fastrpc library nor the driver supports the DSP PD > > notification framework, it is safe to drop the PD exit notification > > before it is ever turned into a context lookup. This removes both the > > log spam and the mis-completion race. A genuine response can never be > > masked: a real context is (idr_index << 4) | pd (at most 0xFF3) and > > can never equal the sentinel. > > > > Assisted-by: Claude:claude-opus-4-8 > > Reviewed-by: Ekansh Gupta <[email protected]> > > Signed-off-by: Shawn Guo <[email protected]> > > --- > > Does not apply to linux-next, can you rebase it pl.
Hmm, the patch was based on next-20260727 and still applies to next-20260728. I pushed a branch based on next-20260728 for your reference here [1]. Shawn [1] https://github.com/shawngsc/linux/commits/next-20260728-nord-fastrpc-v2
