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