Re: [xhci_hcd] reset SuperSpeed, xhci_drop_endpoint called with disabled ep, Error in queuecommand_lck: task blocked

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

 



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 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