> -----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

Reply via email to