On Mon, 2019-06-10 at 23:03 +0800, Ming Lei wrote: > The current way isn't safe for chained sgl, so use sgl helper to > operate sgl. > > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > --- > drivers/scsi/lpfc/lpfc_nvmet.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc_nvmet.c b/drivers/scsi/lpfc/lpfc_nvmet.c > index d74bfd264495..877d1fb92754 100644 > --- a/drivers/scsi/lpfc/lpfc_nvmet.c > +++ b/drivers/scsi/lpfc/lpfc_nvmet.c > @@ -2662,8 +2662,7 @@ lpfc_nvmet_prep_fcp_wqe(struct lpfc_hba *phba, > nvmewqe->drvrTimeout = (phba->fc_ratov * 3) + LPFC_DRVR_TIMEOUT; > nvmewqe->context1 = ndlp; > > - for (i = 0; i < rsp->sg_cnt; i++) { > - sgel = &rsp->sg[i]; > + for_each_sg(rsp->sg, sgel, rsp->sg_cnt, i) { > physaddr = sg_dma_address(sgel); > cnt = sg_dma_len(sgel); > sgl->addr_hi = putPaddrHigh(physaddr); Looks right for rsp->sg Reviewed by: Ewan D. Milne <emilne@xxxxxxxxxx>