Hi Christoph, > From: Christoph Hellwig, Sent: Wednesday, June 12, 2019 4:31 PM > > First things first: > > Yoshihiro, can you try this git branch? The new bits are just the three > patches at the end, but they sit on top of a few patches already sent > out to the list, so a branch is probably either: > > git://git.infradead.org/users/hch/misc.git scsi-virt-boundary-fixes Thank you for the patches! Unfortunately, the three patches could not resolve this issue. However, it's a hint to me, and then I found the root cause: - slave_configure() in drivers/usb/storage/scsiglue.c calls blk_queue_max_hw_sectors() with 2048 sectors (1 MiB) when USB_SPEED_SUPER or more. -- So that, even if your patches (also I fixed it a little [1]) could not resolve the issue because the max_sectors is overwritten by above code. So, I think we should fix the slave_configure() by using dma_max_mapping_size(). What do you think? If so, I can make such a patch. [1] In the "scsi: take the DMA max mapping size into account" patch, + shost->max_sectors = min_t(unsigned int, shost->max_sectors, + dma_max_mapping_size(dev) << SECTOR_SHIFT); it should be: + dma_max_mapping_size(dev) >> SECTOR_SHIFT); But, if we fix the slave_configure(), we don't need this patch, IIUC. Best regards, Yoshihiro Shimoda