Re: [PATCH] USB: Check individual ehci port status on resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello.

On 19-11-2010 23:56, Matthew Garrett wrote:

The AMD SB700 I'm testing with wakes up fine on connection after runtime
suspend, but doesn't appear to set the "Port change detect" bit in USBSTS.
The change does appear in the individual port register, so try checking
the port status as well. It's an infrequent enough operation that the
overhead shouldn't be an issue.

Signed-off-by: Matthew Garrett<mjg@xxxxxxxxxx>
---
  drivers/usb/host/ehci-hub.c |   17 ++++++++++++++++-
  1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index 796ea0c..7653117 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -106,12 +106,25 @@ static void ehci_handover_companion_ports(struct ehci_hcd *ehci)
  	ehci->owned_ports = 0;
  }

+static int ehci_port_change(struct ehci_hcd *ehci)
+{
+	int i = HCS_N_PORTS(ehci->hcs_params);
+
+	while (i--) {
+		if (ehci_readl(ehci,&ehci->regs->port_status[i]) & PORT_CSC)
+			return 1;
+	}

   {} not needed. scripts/checkpatch.pl doesn't complain?

+
+	return 0;
+}
+
  static void ehci_adjust_port_wakeup_flags(struct ehci_hcd *ehci,
  		bool suspending, bool do_wakeup)
  {
  	int		port;
  	u32		temp;

+

   Stray newline?

  	/* If remote wakeup is enabled for the root hub but disabled
  	 * for the controller, we must adjust all the port wakeup flags
  	 * when the controller is suspended or resumed.  In all other

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux