On Tue, 2019-07-23 at 09:19 -0700, Guenter Roeck wrote: > On Tue, Jul 23, 2019 at 08:33:15AM -0700, James Bottomley wrote: > [ ... ] > > > > Yes, I think so. Can someone try this, or something like it. > > > > Thanks, > > > > James > > > > --- > > > > diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c > > index 9381171c2fc0..4715671a1537 100644 > > --- a/drivers/scsi/scsi_lib.c > > +++ b/drivers/scsi/scsi_lib.c > > @@ -1793,7 +1793,8 @@ void __scsi_init_queue(struct Scsi_Host > > *shost, struct request_queue *q) > > dma_set_seg_boundary(dev, shost->dma_boundary); > > > > blk_queue_max_segment_size(q, shost->max_segment_size); > > - blk_queue_virt_boundary(q, shost->virt_boundary_mask); > > + if (shost->virt_boundary_mask) > > + blk_queue_virt_boundary(q, shost- > > >virt_boundary_mask); > > dma_set_max_seg_size(dev, queue_max_segment_size(q)); > > > > /* > > This fixes the problem for me. Great, thanks! I'm thinking this is the more correct fix: https://lore.kernel.org/linux-block/1563896932.3609.15.camel@xxxxxxxxxxxxxxxxxxxxx/ But we'll see what Jens says. James