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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html