[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fac2fc0a-8352-4036-80b7-1194ca382f70@linux.intel.com>
Date: Thu, 17 Apr 2025 11:54:19 +0300
From: Mathias Nyman <mathias.nyman@...ux.intel.com>
To: Michal Pecio <michal.pecio@...il.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Mathias Nyman <mathias.nyman@...el.com>,
Minas Harutyunyan <hminas@...opsys.com>,
Linus Walleij <linus.walleij@...aro.org>,
Alan Stern <stern@...land.harvard.edu>
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] usb: hcd: Add a usb_device argument to
hc_driver.endpoint_reset()
On 15.4.2025 12.10, Michal Pecio wrote:
> xHCI needs usb_device here, so it stored it in host_endpoint.hcpriv,
> which proved problematic due to some unexpected call sequences from
> USB core, and generally made the code more complex than it has to be.
>
> Make USB core supply it directly and simplify xhci_endpoint_reset().
> Use the xhci_check_args() helper for preventing resets of emulated
> root hub endpoints and for argument validation.
>
> Update other drivers which also define such callback to accept the
> new argument and ignore it, as it seems to be of no use for them.
>
> This fixes a 6.15-rc1 regression reported by Paul, which I was able
> to reproduce, where xhci_hcd doesn't handle endpoint_reset() after
> endpoint_disable() not followed by add_endpoint(). If a configured
> device is reset, stalling endpoints start to get stuck permanently.
>
> Reported-by: Paul Menzel <pmenzel@...gen.mpg.de>
> Closes: https://lore.kernel.org/linux-usb/c279bd85-3069-4841-b1be-20507ac9f2d7@molgen.mpg.de/
> Signed-off-by: Michal Pecio <michal.pecio@...il.com>
> ---
All xhci changes look good to me
Acked-by: Mathias Nyman <mathias.nyman@...ux.intel.com>
Powered by blists - more mailing lists