[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUVfDvAnHucYtGC3J6OXyFAZ-c9DU0z8s6iqK_g4Y=Nckw@mail.gmail.com>
Date: Sat, 6 Mar 2021 20:30:27 +0100
From: Sedat Dilek <sedat.dilek@...il.com>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Mathias Nyman <mathias.nyman@...el.com>, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: [xhci] usb 4-1: reset SuperSpeed Gen 1 USB device number 2 using xhci_hcd
On Sat, Mar 6, 2021 at 5:58 PM Alan Stern <stern@...land.harvard.edu> wrote:
>
> 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?
>
The kernel is the only change.
> > 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.
>
OK, will look into it.
> > 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.
>
This is with Linux v5.12-rc2 - not v5.11.y.
I look if I can apply the patch.
- Sedat -
>
>
> --- 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;
>
>
Powered by blists - more mailing lists