> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf > Of Li Li via Intel-wired-lan > Sent: Friday, April 24, 2026 5:16 AM > To: Nguyen, Anthony L <[email protected]>; Kitszel, > Przemyslaw <[email protected]>; David S. Miller > <[email protected]>; Jakub Kicinski <[email protected]>; Eric Dumazet > <[email protected]>; [email protected] > Cc: [email protected]; [email protected]; David > Decotigny <[email protected]>; Singhai, Anjali > <[email protected]>; Samudrala, Sridhar > <[email protected]>; Brian Vazquez <[email protected]>; Li > Li <[email protected]>; Tantilov, Emil S <[email protected]> > Subject: [Intel-wired-lan] [PATCH iwl-next] libie: log more info when > virtchnl fails > > Virtchnl failures can be hard to debug without logs. Logging the > details of virtchnl transactions can be useful for debugging virtchnl- > related issues. > > Tested: Built and booted on a test machine. > > Signed-off-by: Li Li <[email protected]> > --- > drivers/net/ethernet/intel/libie/controlq.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/net/ethernet/intel/libie/controlq.c > b/drivers/net/ethernet/intel/libie/controlq.c > index ebc05355e39d..7eaa77413621 100644 > --- a/drivers/net/ethernet/intel/libie/controlq.c > +++ b/drivers/net/ethernet/intel/libie/controlq.c > @@ -762,6 +762,16 @@ libie_ctlq_xn_process_recv(struct > libie_ctlq_xn_recv_params *params, > status = ctlq_msg->chnl_retval ? -EFAULT : 0; > > xn = &xnm->ring[xn_index]; > + > + if (ctlq_msg->chnl_retval) { > + dev_err_ratelimited( > + params->ctlq->dev, > + "Non-zero virtchnl ret val (msg op: %u, ret val: > %u, msg_cookie: %u, data_len: %u); xn op: %u, id: %u, cookie: %u\n", > + ctlq_msg->chnl_opcode, ctlq_msg->chnl_retval, > + msg_cookie, ctlq_msg->data_len, xn- > >virtchnl_opcode, > + xn->index, xn->cookie); > + } > + > if (ctlq_msg->chnl_opcode != xn->virtchnl_opcode || > msg_cookie != xn->cookie) > return false; > @@ -1011,6 +1021,11 @@ int libie_ctlq_xn_send(struct > libie_ctlq_xn_send_params *params) > params->recv_mem = xn->recv_mem; > break; > default: > + dev_notice_ratelimited( > + params->ctlq->dev, > + "Transaction failed (op %u, xn state: %d, id: %u, > cookie: %u, size: %zu)\n", > + params->chnl_opcode, xn->state, xn->index, xn- > >cookie, > + xn->recv_mem.iov_len); For me dev_notice_ratelimited() level is low for a failure messages. Why not dev_warn_ratelimited() instead?
> ret = -EBADMSG; > break; > } > -- > 2.54.0.rc2.544.gc7ae2d5bb8-goog
