Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9eeb248 authored by Boaz Harrosh's avatar Boaz Harrosh Committed by James Bottomley
Browse files

[SCSI] qlogicpti: fix sg list traversal error in continuation entries



The current sg list traversal logic for the continuation entries
doesn't advance the list pointer once all seven slots are used, so the
next continuation entry (if there is one) wrongly begins again at the
start of the sg list.

Fix by advancing the sg pointer after the for_each_sg().

Reported-by: default avatarMeelis Roos <mroos@ut.ee>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 44ea91c5
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -914,6 +914,7 @@ static inline int load_cmd(struct scsi_cmnd *Cmnd, struct Command_Entry *cmd,
				ds[i].d_count = sg_dma_len(s);
				ds[i].d_count = sg_dma_len(s);
			}
			}
			sg_count -= n;
			sg_count -= n;
			sg = s;
		}
		}
	} else {
	} else {
		cmd->dataseg[0].d_base = 0;
		cmd->dataseg[0].d_base = 0;