Skip to content

[Question] How should mctp‑usb handle TX URB timeouts to recover when the device stops responding and recovers after some time? #11

@suresh-vijay-msft

Description

@suresh-vijay-msft

Hi Jeremy,

Quick question on the MCTP-over-USB driver: what’s the mechanism by which a submitted URB gets cancelled, leading to a stopped network queue being woken up?

In the upstream implementation (mainline mctp-usb.c: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/mctp/mctp-usb.c), it looks like the queue is woken in mctp_usb_out_complete() after a successful URB completion. This makes me wonder whether delayed/non-successful completions can keep the TX queue stopped long enough for the skb backlog to hit limits and surface as ENOBUFS to userspace.

Do the multi‑URB enhancements in this branch address that behavior?

https://github.com/CodeConstruct/linux/blob/test/mctp-usb/drivers/net/mctp/mctp-usb.c

If yes, what’s the current line of sight / plan for upstreaming those changes?

Thanks,
Suresh

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions