> -----Original Message----- > From: longli@xxxxxxxxxxxxxxxxx <longli@xxxxxxxxxxxxxxxxx> > Sent: Monday, August 5, 2024 7:38 PM > To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang > <haiyangz@xxxxxxxxxxxxx>; Wei Liu <wei.liu@xxxxxxxxxx>; Dexuan Cui > <decui@xxxxxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet > <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni > <pabeni@xxxxxxxxxx>; Shradha Gupta <shradhagupta@xxxxxxxxxxxxxxxxxxx>; > Simon Horman <horms@xxxxxxxxxx>; Konstantin Taranov > <kotaranov@xxxxxxxxxxxxx>; Souradeep Chakrabarti > <schakrabarti@xxxxxxxxxxxxxxxxxxx>; Erick Archer > <erick.archer@xxxxxxxxxxx>; linux-hyperv@xxxxxxxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux- > rdma@xxxxxxxxxxxxxxx > Cc: Long Li <longli@xxxxxxxxxxxxx>; stable@xxxxxxxxxxxxxxx > Subject: [PATCH net] net: mana: Fix doorbell out of order violation and > avoid unnecessary doorbell rings > > From: Long Li <longli@xxxxxxxxxxxxx> > > After napi_complete_done() is called, another NAPI may be running on > another CPU and ring the doorbell before the current CPU does. When > combined with unnecessary rings when there is no need to ARM the CQ, this > triggers error paths in the hardware. > > Fix this by always ring the doorbell in sequence and avoid unnecessary > rings. > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: e1b5683ff62e ("net: mana: Move NAPI from EQ to CQ") > Signed-off-by: Long Li <longli@xxxxxxxxxxxxx> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Thank you.