All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Chen Yu <yu.c.chen@intel.com>
Cc: Mathias Nyman <mathias.nyman@intel.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Muchowski, MaciejX" <maciejx.muchowski@intel.com>,
	"Paczynski, Lukasz" <lukasz.paczynski@intel.com>
Subject: Re: [PATCH] xhci: Introduce max wait timeout in xhci_handshake()
Date: Tue, 15 Dec 2020 14:39:14 +0100	[thread overview]
Message-ID: <X9i8grY9BRbbCqNZ@kroah.com> (raw)
In-Reply-To: <20201215132240.4094-1-yu.c.chen@intel.com>

On Tue, Dec 15, 2020 at 09:22:40PM +0800, Chen Yu wrote:
> The time to finish a xhci_handshake() is platform specific
> and sometimes during suspend resume test the followng
> errors were encountered:
> [53455.418330] ACPI: Waking up from system sleep state S4
> [66838.490856] xhci_hcd 0000:00:14.0: xHCI dying, ignoring interrupt.
>                Shouldn't IRQs be disabled?
> After changing the poll time granularity from 1 usec to 20 usec in
> xhci_handshake() this issue was not reproduced. While tuning on the
> poll time granularity might be painful on different platforms, it is
> applicable to introduce a module parameter to allow the xhci driver to wait
> for at max 16 ms.
> 
> Reported-by: "Muchowski, MaciejX" <maciejx.muchowski@intel.com>

I doubt the "X" is part of this person's name, please just spell it out
without the "," please.

> Signed-off-by: Chen Yu <yu.c.chen@intel.com>
> ---
>  drivers/usb/host/xhci.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index d4a8d0efbbc4..b8be9f3cc987 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -38,6 +38,10 @@ static unsigned long long quirks;
>  module_param(quirks, ullong, S_IRUGO);
>  MODULE_PARM_DESC(quirks, "Bit flags for quirks to be enabled as default");
>  
> +static int wait_handshake;
> +module_param(wait_handshake, int, 0644);
> +MODULE_PARM_DESC(wait_handshake, "Force wait for completion of handshake");

This is not the 1990's, we are not adding new module parameters that no
one will know how to change.

Make this dynamic, and per-device, and work properly instead.  This can
not handle multiple controllers in the system at all :(

thanks,

greg k-h

  reply	other threads:[~2020-12-15 13:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-15 13:22 [PATCH] xhci: Introduce max wait timeout in xhci_handshake() Chen Yu
2020-12-15 13:39 ` Greg KH [this message]
2020-12-16  4:36   ` Chen Yu

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=X9i8grY9BRbbCqNZ@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lukasz.paczynski@intel.com \
    --cc=maciejx.muchowski@intel.com \
    --cc=mathias.nyman@intel.com \
    --cc=yu.c.chen@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.