All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Pecio <michal.pecio@gmail.com>
To: Henry Tseng <henrytseng@qnap.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org
Subject: Re: [PATCH] usb: xhci: return an error if the host is not halted
Date: Wed, 2 Sep 2026 13:50:16 +0200	[thread overview]
Message-ID: <20260902135016.19d4c3fa.michal.pecio@gmail.com> (raw)
In-Reply-To: <20260902101510.30246-1-henrytseng@qnap.com>

On Wed,  2 Sep 2026 18:15:10 +0800, Henry Tseng wrote:
> xhci_reset() returns 0 when the host is not halted, without ever writing
> CMD_RESET. Every other path that fails to reset the host returns an
> error, so callers that check the return value are told the reset
> succeeded on the one path where it did not happen.
> 
> Return -EBUSY when the reset is aborted because the host is not halted.
> 
> Signed-off-by: Henry Tseng <henrytseng@qnap.com>
> ---
>  drivers/usb/host/xhci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index a9e47e178c28..2af6a7b91e55 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -195,7 +195,7 @@ int xhci_reset(struct xhci_hcd *xhci, u64 timeout_us)
>  
>  	if ((state & STS_HALT) == 0) {
>  		xhci_warn(xhci, "Host controller not halted, aborting reset.\n");
> -		return 0;
> +		return -EBUSY;

That's probably how it should be, but I wonder how did you find this
bug and are you aware of any cases where it makes a difference?

There is apparently one caller (xhci_resume()) which cares about
xhci_reset() return value but not about the preceding xhci_halt().
 
>  	}
>  
>  	xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Reset the HC");
> -- 
> 2.43.0
> 

  reply	other threads:[~2026-09-02 11:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-02 10:15 [PATCH] usb: xhci: return an error if the host is not halted Henry Tseng
2026-09-02 11:50 ` Michal Pecio [this message]
2026-09-04 10:08   ` Henry Tseng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260902135016.19d4c3fa.michal.pecio@gmail.com \
    --to=michal.pecio@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=henrytseng@qnap.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.