Messages in this thread | | | Date | Wed, 21 Sep 2022 11:10:58 +0300 | Subject | Re: [PATCH] nvme-pci: Set min align mask before calculating max_hw_sectors | From | Sagi Grimberg <> |
| |
> If swiotlb is force enabled dma_max_mapping_size ends up calling > swiotlb_max_mapping_size which takes into account the min align > mask for the device. > Set the min align mask for nvme driver before calling > dma_max_mapping_size while calculating max hw sectors.
Does this fix a specific bug? if so it needs a fixes tag so it can go to stable backports as well.
> > Signed-off-by: Rishabh Bhatnagar <risbhat@amazon.com> > --- > drivers/nvme/host/pci.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c > index 98864b853eef..30e71e41a0a2 100644 > --- a/drivers/nvme/host/pci.c > +++ b/drivers/nvme/host/pci.c > @@ -2834,6 +2834,8 @@ static void nvme_reset_work(struct work_struct *work) > nvme_start_admin_queue(&dev->ctrl); > } > > + dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1); > + > /* > * Limit the max command size to prevent iod->sg allocations going > * over a single page. > @@ -2846,7 +2848,6 @@ static void nvme_reset_work(struct work_struct *work) > * Don't limit the IOMMU merged segment size. > */ > dma_set_max_seg_size(dev->dev, 0xffffffff); > - dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1); > > mutex_unlock(&dev->shutdown_lock); >
| |