On Fri, 18 Apr 2014, Peter Münster wrote:
> On Thu, Apr 17 2014, Peter Münster wrote:
>
> > On Thu, Apr 17 2014, Alan Stern wrote:
> >
> >> Just to verify, please try replacing diag3 with each of the two patches
> >> below (one at a time). If my guess is right, diag3a will work and
> >> diag3b will fail.
> >
> > Yes, you're right!
>
> Sorry, I've forgotten the logs. For which patch do you need logs?
The logs aren't necessary. The real point of those tests was to check
that the hardware really does behave inconsistently.
It appears that the same problem affects the front ports and the rear
ports, but it affects them in slightly different ways. The controller
for the rear crashes if any ports are unsuspended, whereas the
controller for the front crashes if some ports are unsuspended and some
are suspended.
This means we have to try to fix the problem. Below is a first simple
attempt, let's call it fix1. This should be applied to the kernel you
have been using, with diag1 but without any of the diag3* patches.
What happens with fix1 and with the mouse plugged into the rear?
(I'd be a little surprised if it worked, but you never know...)
Alan Stern
Index: peter/drivers/usb/core/hub.c
===================================================================
--- peter.orig/drivers/usb/core/hub.c
+++ peter/drivers/usb/core/hub.c
@@ -3197,8 +3197,6 @@ int usb_port_resume(struct usb_device *u
/* Skip the initial Clear-Suspend step for a remote wakeup */
status = hub_port_status(hub, port1, &portstatus, &portchange);
- if (status == 0 && !port_is_suspended(hub, portstatus))
- goto SuspendCleared;
// dev_dbg(hub->intfdev, "resume port %d\n", port1);
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html