Thread (16 messages) 16 messages, 2 authors, 2021-03-06

Re: [xhci] usb 4-1: reset SuperSpeed Gen 1 USB device number 2 using xhci_hcd

From: Alan Stern <stern@rowland.harvard.edu>
Date: 2021-03-06 16:59:51
Also in: lkml

On Sat, Mar 06, 2021 at 07:42:30AM +0100, Sedat Dilek wrote:
No, with Debian-Kernel 5.10.19-1 there are no xhci-resets:
Is the kernel the only thing that is different?  The rest of the 
operating system and environment is exactly the same?
But I see there is already a quirk enabled and matches my ASmedia USB
3.0 controller (as I have *no* usb-storage-quirks enabled):

root# LC_ALL=C dmesg -T | grep -i quirks | egrep '174c|55aa'
[Sat Mar  6 06:52:41 2021] usb-storage 4-1:1.0: Quirks match for vid
174c pid 55aa: 400000
Yes, this is because that type of device already has a quirk entry built 
into the kernel.  You can find it by searching for "174c" in the kernel 
source file drivers/usb/storage/unusual_devs.h.
Thanks Alan for all the hints and tips in the topic "usb-storage and
quirks" and your patience.
You can try building a 5.11 kernel with the patch below.  I don't know 
whether it will show anything in the dmesg log when one of these resets 
occurs, but it might.

If that doesn't work out, another possibility is to use git bisect to 
find the commit between 5.10 and 5.11 which caused the problem to start.

Alan Stern

--- usb-devel.orig/block/scsi_ioctl.c
+++ usb-devel/block/scsi_ioctl.c
@@ -258,8 +258,11 @@ static int blk_complete_sghdr_rq(struct
 	hdr->host_status = host_byte(req->result);
 	hdr->driver_status = driver_byte(req->result);
 	hdr->info = 0;
-	if (hdr->masked_status || hdr->host_status || hdr->driver_status)
+	if (hdr->masked_status || hdr->host_status || hdr->driver_status) {
 		hdr->info |= SG_INFO_CHECK;
+		printk(KERN_INFO "SCSI ioctl error, cmd %02X, prog %s\n",
+				req->cmd[0], current->comm);
+	}
 	hdr->resid = req->resid_len;
 	hdr->sb_len_wr = 0;
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help