On Sun, 16 Mar 2014, Andreas Reis wrote:
> I finally managed to get an usbmon trace. It's available on the kernel
> bugzilla page.
>
> Andreas Reis
>
> On 19.02.2014 18:10, Alan Stern wrote:> On Wed, 19 Feb 2014, Andreas
> Reis wrote:
> >
> >> Hi,
> >>
> >> this is an updated copy of my report at:
> >> https://bugzilla.kernel.org/show_bug.cgi?id=70781
> >>
> >> The two dmesg reports can be found there.
> >>
> >> Regards,
> >> Andreas Reis
Everything looks more or less normal except perhaps for the Link Power
Management. The xhci-hcd maintainers should look at that.
Still, there's one more thing we ought to check. The patch below will
add some extra messages to the dmesg log. Let's see what they show.
Alan Stern
Index: usb-3.14/drivers/usb/storage/transport.c
===================================================================
--- usb-3.14.orig/drivers/usb/storage/transport.c
+++ usb-3.14/drivers/usb/storage/transport.c
@@ -1324,6 +1324,8 @@ int usb_stor_port_reset(struct us_data *
{
int result;
+ dev_info(&us->pusb_intf->dev, "Starting port reset\n");
+
/*for these devices we must use the class specific method */
if (us->pusb_dev->quirks & USB_QUIRK_RESET)
return -EPERM;
@@ -1344,5 +1346,6 @@ int usb_stor_port_reset(struct us_data *
}
usb_unlock_device(us->pusb_dev);
}
+ dev_info(&us->pusb_intf->dev, "Reset completed: %d\n", result);
return result;
}
Index: usb-3.14/drivers/usb/storage/scsiglue.c
===================================================================
--- usb-3.14.orig/drivers/usb/storage/scsiglue.c
+++ usb-3.14/drivers/usb/storage/scsiglue.c
@@ -357,6 +357,7 @@ static int command_abort(struct scsi_cmn
struct us_data *us = host_to_us(srb->device->host);
usb_stor_dbg(us, "%s called\n", __func__);
+ dev_info(&us->pusb_intf->dev, "Abort srbs: %p %p\n", srb, us->srb);
/* us->srb together with the TIMED_OUT, RESETTING, and ABORTING
* bits are protected by the host lock. */
@@ -377,12 +378,14 @@ static int command_abort(struct scsi_cmn
set_bit(US_FLIDX_TIMED_OUT, &us->dflags);
if (!test_bit(US_FLIDX_RESETTING, &us->dflags)) {
set_bit(US_FLIDX_ABORTING, &us->dflags);
+ dev_info(&us->pusb_intf->dev, "Calling stop_transport\n");
usb_stor_stop_transport(us);
}
scsi_unlock(us_to_host(us));
/* Wait for the aborted command to finish */
wait_for_completion(&us->notify);
+ dev_info(&us->pusb_intf->dev, "Abort completed\n");
return SUCCESS;
}
--
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