All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] xhci: Fix port resume done detection for SS ports with LPM enabled
@ 2019-03-22 15:50   ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-03-22 15:50 UTC (permalink / raw)
  To: gregkh; +Cc: linux-usb, Mathias Nyman, stable

A suspended SS port in U3 link state will go to U0 when resumed, but
can almost immediately after that enter U1 or U2 link power save
states before host controller driver reads the port status.

Host controller driver only checks for U0 state, and might miss
the finished resume, leaving flags unclear and skip notifying usb
code of the wake.

Add U1 and U2 to the possible link states when checking for finished
port resume.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-ring.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 40fa25c..9215a28 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1647,10 +1647,13 @@ static void handle_port_status(struct xhci_hcd *xhci,
 		}
 	}
 
-	if ((portsc & PORT_PLC) && (portsc & PORT_PLS_MASK) == XDEV_U0 &&
-			DEV_SUPERSPEED_ANY(portsc)) {
+	if ((portsc & PORT_PLC) &&
+	    DEV_SUPERSPEED_ANY(portsc) &&
+	    ((portsc & PORT_PLS_MASK) == XDEV_U0 ||
+	     (portsc & PORT_PLS_MASK) == XDEV_U1 ||
+	     (portsc & PORT_PLS_MASK) == XDEV_U2)) {
 		xhci_dbg(xhci, "resume SS port %d finished\n", port_id);
-		/* We've just brought the device into U0 through either the
+		/* We've just brought the device into U0/1/2 through either the
 		 * Resume state after a device remote wakeup, or through the
 		 * U3Exit state after a host-initiated resume.  If it's a device
 		 * initiated remote wake, don't pass up the link state change,
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [1/3] xhci: Fix port resume done detection for SS ports with LPM enabled
@ 2019-03-22 15:50   ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-03-22 15:50 UTC (permalink / raw)
  To: gregkh; +Cc: linux-usb, Mathias Nyman, stable

A suspended SS port in U3 link state will go to U0 when resumed, but
can almost immediately after that enter U1 or U2 link power save
states before host controller driver reads the port status.

Host controller driver only checks for U0 state, and might miss
the finished resume, leaving flags unclear and skip notifying usb
code of the wake.

Add U1 and U2 to the possible link states when checking for finished
port resume.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-ring.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 40fa25c..9215a28 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1647,10 +1647,13 @@ static void handle_port_status(struct xhci_hcd *xhci,
 		}
 	}
 
-	if ((portsc & PORT_PLC) && (portsc & PORT_PLS_MASK) == XDEV_U0 &&
-			DEV_SUPERSPEED_ANY(portsc)) {
+	if ((portsc & PORT_PLC) &&
+	    DEV_SUPERSPEED_ANY(portsc) &&
+	    ((portsc & PORT_PLS_MASK) == XDEV_U0 ||
+	     (portsc & PORT_PLS_MASK) == XDEV_U1 ||
+	     (portsc & PORT_PLS_MASK) == XDEV_U2)) {
 		xhci_dbg(xhci, "resume SS port %d finished\n", port_id);
-		/* We've just brought the device into U0 through either the
+		/* We've just brought the device into U0/1/2 through either the
 		 * Resume state after a device remote wakeup, or through the
 		 * U3Exit state after a host-initiated resume.  If it's a device
 		 * initiated remote wake, don't pass up the link state change,

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/3] usb: xhci: dbc: Don't free all memory with spinlock held
@ 2019-03-22 15:50   ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-03-22 15:50 UTC (permalink / raw)
  To: gregkh; +Cc: linux-usb, Mathias Nyman, stable

The xhci debug capability (DbC) feature did its memory cleanup with
spinlock held. dma_free_coherent() warns if called with interrupts
disabled

move the memory cleanup outside the spinlock

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-dbgcap.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/xhci-dbgcap.c b/drivers/usb/host/xhci-dbgcap.c
index c78be57..d932cc3 100644
--- a/drivers/usb/host/xhci-dbgcap.c
+++ b/drivers/usb/host/xhci-dbgcap.c
@@ -516,7 +516,6 @@ static int xhci_do_dbc_stop(struct xhci_hcd *xhci)
 		return -1;
 
 	writel(0, &dbc->regs->control);
-	xhci_dbc_mem_cleanup(xhci);
 	dbc->state = DS_DISABLED;
 
 	return 0;
@@ -562,8 +561,10 @@ static void xhci_dbc_stop(struct xhci_hcd *xhci)
 	ret = xhci_do_dbc_stop(xhci);
 	spin_unlock_irqrestore(&dbc->lock, flags);
 
-	if (!ret)
+	if (!ret) {
+		xhci_dbc_mem_cleanup(xhci);
 		pm_runtime_put_sync(xhci_to_hcd(xhci)->self.controller);
+	}
 }
 
 static void
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [2/3] usb: xhci: dbc: Don't free all memory with spinlock held
@ 2019-03-22 15:50   ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-03-22 15:50 UTC (permalink / raw)
  To: gregkh; +Cc: linux-usb, Mathias Nyman, stable

The xhci debug capability (DbC) feature did its memory cleanup with
spinlock held. dma_free_coherent() warns if called with interrupts
disabled

move the memory cleanup outside the spinlock

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-dbgcap.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/host/xhci-dbgcap.c b/drivers/usb/host/xhci-dbgcap.c
index c78be57..d932cc3 100644
--- a/drivers/usb/host/xhci-dbgcap.c
+++ b/drivers/usb/host/xhci-dbgcap.c
@@ -516,7 +516,6 @@ static int xhci_do_dbc_stop(struct xhci_hcd *xhci)
 		return -1;
 
 	writel(0, &dbc->regs->control);
-	xhci_dbc_mem_cleanup(xhci);
 	dbc->state = DS_DISABLED;
 
 	return 0;
@@ -562,8 +561,10 @@ static void xhci_dbc_stop(struct xhci_hcd *xhci)
 	ret = xhci_do_dbc_stop(xhci);
 	spin_unlock_irqrestore(&dbc->lock, flags);
 
-	if (!ret)
+	if (!ret) {
+		xhci_dbc_mem_cleanup(xhci);
 		pm_runtime_put_sync(xhci_to_hcd(xhci)->self.controller);
+	}
 }
 
 static void

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/3] xhci: Don't let USB3 ports stuck in polling state prevent suspend
@ 2019-03-22 15:50   ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-03-22 15:50 UTC (permalink / raw)
  To: gregkh; +Cc: linux-usb, Mathias Nyman, stable

Commit 2f31a67f01a8 ("usb: xhci: Prevent bus suspend if a port connect
change or polling state is detected") was intended to prevent ports that
were still link training from being forced to U3 suspend state mid
enumeration.
This solved enumeration issues for devices with slow link training.

Turns out some devices are stuck in the link training/polling state,
and thus that patch will prevent suspend completely for these devices.
This is seen with USB3 card readers in some MacBooks.

Instead of preventing suspend, give some time to complete the link
training. On successful training the port will end up as connected
and enabled.
If port instead is stuck in link training the bus suspend will continue
suspending after 360ms (10 * 36ms) timeout (tPollingLFPSTimeout).

Original patch was sent to stable, this one should go there as well

Fixes: 2f31a67f01a8 ("usb: xhci: Prevent bus suspend if a port connect change or polling state is detected")
Cc: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-hub.c | 19 ++++++++++++-------
 drivers/usb/host/xhci.h     |  8 ++++++++
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index e2eece6..96a7405 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1545,20 +1545,25 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
 	port_index = max_ports;
 	while (port_index--) {
 		u32 t1, t2;
-
+		int retries = 10;
+retry:
 		t1 = readl(ports[port_index]->addr);
 		t2 = xhci_port_state_to_neutral(t1);
 		portsc_buf[port_index] = 0;
 
-		/* Bail out if a USB3 port has a new device in link training */
-		if ((hcd->speed >= HCD_USB3) &&
+		/*
+		 * Give a USB3 port in link training time to finish, but don't
+		 * prevent suspend as port might be stuck
+		 */
+		if ((hcd->speed >= HCD_USB3) && retries-- &&
 		    (t1 & PORT_PLS_MASK) == XDEV_POLLING) {
-			bus_state->bus_suspended = 0;
 			spin_unlock_irqrestore(&xhci->lock, flags);
-			xhci_dbg(xhci, "Bus suspend bailout, port in polling\n");
-			return -EBUSY;
+			msleep(XHCI_PORT_POLLING_LFPS_TIME);
+			spin_lock_irqsave(&xhci->lock, flags);
+			xhci_dbg(xhci, "port %d polling in bus suspend, waiting\n",
+				 port_index);
+			goto retry;
 		}
-
 		/* suspend ports in U0, or bail out for new connect changes */
 		if ((t1 & PORT_PE) && (t1 & PORT_PLS_MASK) == XDEV_U0) {
 			if ((t1 & PORT_CSC) && wake_enabled) {
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 652dc36..9334cde 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -452,6 +452,14 @@ struct xhci_op_regs {
  */
 #define XHCI_DEFAULT_BESL	4
 
+/*
+ * USB3 specification define a 360ms tPollingLFPSTiemout for USB3 ports
+ * to complete link training. usually link trainig completes much faster
+ * so check status 10 times with 36ms sleep in places we need to wait for
+ * polling to complete.
+ */
+#define XHCI_PORT_POLLING_LFPS_TIME  36
+
 /**
  * struct xhci_intr_reg - Interrupt Register Set
  * @irq_pending:	IMAN - Interrupt Management Register.  Used to enable
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [3/3] xhci: Don't let USB3 ports stuck in polling state prevent suspend
@ 2019-03-22 15:50   ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-03-22 15:50 UTC (permalink / raw)
  To: gregkh; +Cc: linux-usb, Mathias Nyman, stable

Commit 2f31a67f01a8 ("usb: xhci: Prevent bus suspend if a port connect
change or polling state is detected") was intended to prevent ports that
were still link training from being forced to U3 suspend state mid
enumeration.
This solved enumeration issues for devices with slow link training.

Turns out some devices are stuck in the link training/polling state,
and thus that patch will prevent suspend completely for these devices.
This is seen with USB3 card readers in some MacBooks.

Instead of preventing suspend, give some time to complete the link
training. On successful training the port will end up as connected
and enabled.
If port instead is stuck in link training the bus suspend will continue
suspending after 360ms (10 * 36ms) timeout (tPollingLFPSTimeout).

Original patch was sent to stable, this one should go there as well

Fixes: 2f31a67f01a8 ("usb: xhci: Prevent bus suspend if a port connect change or polling state is detected")
Cc: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
---
 drivers/usb/host/xhci-hub.c | 19 ++++++++++++-------
 drivers/usb/host/xhci.h     |  8 ++++++++
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index e2eece6..96a7405 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1545,20 +1545,25 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
 	port_index = max_ports;
 	while (port_index--) {
 		u32 t1, t2;
-
+		int retries = 10;
+retry:
 		t1 = readl(ports[port_index]->addr);
 		t2 = xhci_port_state_to_neutral(t1);
 		portsc_buf[port_index] = 0;
 
-		/* Bail out if a USB3 port has a new device in link training */
-		if ((hcd->speed >= HCD_USB3) &&
+		/*
+		 * Give a USB3 port in link training time to finish, but don't
+		 * prevent suspend as port might be stuck
+		 */
+		if ((hcd->speed >= HCD_USB3) && retries-- &&
 		    (t1 & PORT_PLS_MASK) == XDEV_POLLING) {
-			bus_state->bus_suspended = 0;
 			spin_unlock_irqrestore(&xhci->lock, flags);
-			xhci_dbg(xhci, "Bus suspend bailout, port in polling\n");
-			return -EBUSY;
+			msleep(XHCI_PORT_POLLING_LFPS_TIME);
+			spin_lock_irqsave(&xhci->lock, flags);
+			xhci_dbg(xhci, "port %d polling in bus suspend, waiting\n",
+				 port_index);
+			goto retry;
 		}
-
 		/* suspend ports in U0, or bail out for new connect changes */
 		if ((t1 & PORT_PE) && (t1 & PORT_PLS_MASK) == XDEV_U0) {
 			if ((t1 & PORT_CSC) && wake_enabled) {
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 652dc36..9334cde 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -452,6 +452,14 @@ struct xhci_op_regs {
  */
 #define XHCI_DEFAULT_BESL	4
 
+/*
+ * USB3 specification define a 360ms tPollingLFPSTiemout for USB3 ports
+ * to complete link training. usually link trainig completes much faster
+ * so check status 10 times with 36ms sleep in places we need to wait for
+ * polling to complete.
+ */
+#define XHCI_PORT_POLLING_LFPS_TIME  36
+
 /**
  * struct xhci_intr_reg - Interrupt Register Set
  * @irq_pending:	IMAN - Interrupt Management Register.  Used to enable

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/3] xhci: Fix port resume done detection for SS ports with LPM enabled
@ 2019-04-01 10:42       ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-04-01 10:42 UTC (permalink / raw)
  To: Sasha Levin, gregkh; +Cc: linux-usb, stable

On 27.3.2019 16.00, Sasha Levin wrote:
> Hi,
> 
> [This is an automated email]
> 
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
> 
> The bot has tested the following trees: v5.0.4, v4.19.31, v4.14.108, v4.9.165, v4.4.177, v3.18.137.
> 
> v5.0.4: Build OK!
> v4.19.31: Build OK!
> v4.14.108: Build OK!
> v4.9.165: Failed to apply! Possible dependencies:
>      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> 
> v4.4.177: Failed to apply! Possible dependencies:
>      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> 
> v3.18.137: Failed to apply! Possible dependencies:
>      2338b9e47fba ("xhci: define the new default speed ID for SuperSpeedPlus used by xhci hw")
>      41485a90d573 ("xhci: optimize xhci bus resume time")
>      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
>      b50107bb83d0 ("xhci: check xhci hardware for USB 3.1 support")
>      cd33a32157e4 ("usb: xhci: cleanup xhci_hcd allocation")
> 
> 
> How should we proceed with this patch?

Backported versions for 4.9, 4.4 and 3.18 sent to stable

Thanks
Mathias


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [1/3] xhci: Fix port resume done detection for SS ports with LPM enabled
@ 2019-04-01 10:42       ` Mathias Nyman
  0 siblings, 0 replies; 10+ messages in thread
From: Mathias Nyman @ 2019-04-01 10:42 UTC (permalink / raw)
  To: Sasha Levin, gregkh; +Cc: linux-usb, stable

On 27.3.2019 16.00, Sasha Levin wrote:
> Hi,
> 
> [This is an automated email]
> 
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
> 
> The bot has tested the following trees: v5.0.4, v4.19.31, v4.14.108, v4.9.165, v4.4.177, v3.18.137.
> 
> v5.0.4: Build OK!
> v4.19.31: Build OK!
> v4.14.108: Build OK!
> v4.9.165: Failed to apply! Possible dependencies:
>      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> 
> v4.4.177: Failed to apply! Possible dependencies:
>      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> 
> v3.18.137: Failed to apply! Possible dependencies:
>      2338b9e47fba ("xhci: define the new default speed ID for SuperSpeedPlus used by xhci hw")
>      41485a90d573 ("xhci: optimize xhci bus resume time")
>      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
>      b50107bb83d0 ("xhci: check xhci hardware for USB 3.1 support")
>      cd33a32157e4 ("usb: xhci: cleanup xhci_hcd allocation")
> 
> 
> How should we proceed with this patch?

Backported versions for 4.9, 4.4 and 3.18 sent to stable

Thanks
Mathias

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/3] xhci: Fix port resume done detection for SS ports with LPM enabled
@ 2019-04-01 11:37         ` Greg Kroah-Hartman
  0 siblings, 0 replies; 10+ messages in thread
From: Greg KH @ 2019-04-01 11:37 UTC (permalink / raw)
  To: Mathias Nyman; +Cc: Sasha Levin, linux-usb, stable

On Mon, Apr 01, 2019 at 01:42:00PM +0300, Mathias Nyman wrote:
> On 27.3.2019 16.00, Sasha Levin wrote:
> > Hi,
> > 
> > [This is an automated email]
> > 
> > This commit has been processed because it contains a -stable tag.
> > The stable tag indicates that it's relevant for the following trees: all
> > 
> > The bot has tested the following trees: v5.0.4, v4.19.31, v4.14.108, v4.9.165, v4.4.177, v3.18.137.
> > 
> > v5.0.4: Build OK!
> > v4.19.31: Build OK!
> > v4.14.108: Build OK!
> > v4.9.165: Failed to apply! Possible dependencies:
> >      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> > 
> > v4.4.177: Failed to apply! Possible dependencies:
> >      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> > 
> > v3.18.137: Failed to apply! Possible dependencies:
> >      2338b9e47fba ("xhci: define the new default speed ID for SuperSpeedPlus used by xhci hw")
> >      41485a90d573 ("xhci: optimize xhci bus resume time")
> >      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> >      b50107bb83d0 ("xhci: check xhci hardware for USB 3.1 support")
> >      cd33a32157e4 ("usb: xhci: cleanup xhci_hcd allocation")
> > 
> > 
> > How should we proceed with this patch?
> 
> Backported versions for 4.9, 4.4 and 3.18 sent to stable

Thanks for the backports, all now queued up.

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [1/3] xhci: Fix port resume done detection for SS ports with LPM enabled
@ 2019-04-01 11:37         ` Greg Kroah-Hartman
  0 siblings, 0 replies; 10+ messages in thread
From: Greg Kroah-Hartman @ 2019-04-01 11:37 UTC (permalink / raw)
  To: Mathias Nyman; +Cc: Sasha Levin, linux-usb, stable

On Mon, Apr 01, 2019 at 01:42:00PM +0300, Mathias Nyman wrote:
> On 27.3.2019 16.00, Sasha Levin wrote:
> > Hi,
> > 
> > [This is an automated email]
> > 
> > This commit has been processed because it contains a -stable tag.
> > The stable tag indicates that it's relevant for the following trees: all
> > 
> > The bot has tested the following trees: v5.0.4, v4.19.31, v4.14.108, v4.9.165, v4.4.177, v3.18.137.
> > 
> > v5.0.4: Build OK!
> > v4.19.31: Build OK!
> > v4.14.108: Build OK!
> > v4.9.165: Failed to apply! Possible dependencies:
> >      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> > 
> > v4.4.177: Failed to apply! Possible dependencies:
> >      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> > 
> > v3.18.137: Failed to apply! Possible dependencies:
> >      2338b9e47fba ("xhci: define the new default speed ID for SuperSpeedPlus used by xhci hw")
> >      41485a90d573 ("xhci: optimize xhci bus resume time")
> >      76a0f32b28d4 ("xhci: rename temp and temp1 variables")
> >      b50107bb83d0 ("xhci: check xhci hardware for USB 3.1 support")
> >      cd33a32157e4 ("usb: xhci: cleanup xhci_hcd allocation")
> > 
> > 
> > How should we proceed with this patch?
> 
> Backported versions for 4.9, 4.4 and 3.18 sent to stable

Thanks for the backports, all now queued up.

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-04-01 11:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1553269817-19312-1-git-send-email-mathias.nyman@linux.intel.com>
2019-03-22 15:50 ` [PATCH 1/3] xhci: Fix port resume done detection for SS ports with LPM enabled Mathias Nyman
2019-03-22 15:50   ` [1/3] " Mathias Nyman
     [not found]   ` <20190327140056.BDE1F2173C@mail.kernel.org>
2019-04-01 10:42     ` [PATCH 1/3] " Mathias Nyman
2019-04-01 10:42       ` [1/3] " Mathias Nyman
2019-04-01 11:37       ` [PATCH 1/3] " Greg KH
2019-04-01 11:37         ` [1/3] " Greg Kroah-Hartman
2019-03-22 15:50 ` [PATCH 2/3] usb: xhci: dbc: Don't free all memory with spinlock held Mathias Nyman
2019-03-22 15:50   ` [2/3] " Mathias Nyman
2019-03-22 15:50 ` [PATCH 3/3] xhci: Don't let USB3 ports stuck in polling state prevent suspend Mathias Nyman
2019-03-22 15:50   ` [3/3] " Mathias Nyman

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.