On Wed, Oct 13, 2021 at 10:15:59AM -0600, Logan Gunthorpe wrote: > diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h > index 4b50d9a3018a..4ba642fc8a19 100644 > --- a/include/rdma/ib_verbs.h > +++ b/include/rdma/ib_verbs.h > @@ -4097,8 +4097,13 @@ static inline int ib_dma_map_sgtable_attrs(struct ib_dev> > enum dma_data_direction direction, > unsigned long dma_attrs) > { > + int nents; > + > if (ib_uses_virt_dma(dev)) { > - ib_dma_virt_map_sg(dev, sgt->sgl, sgt->orig_nents); > + nents = ib_dma_virt_map_sg(dev, sgt->sgl, sgt->orig_nents); > + if (!nents) > + return -EIO; > + sgt->nents = nents; > return 0; > } Oh yes, that definitely looks needed. Jason