[SCSI] be2iscsi: Fixing Bug for multiple SGEs
The patch fixes a but where the sg_next is not assigned and hence the first sge was being resused wrongly Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
e4b8972c61
commit
48bd86cf21
@ -1711,7 +1711,8 @@ hwi_write_sgl(struct iscsi_wrb *pwrb, struct scatterlist *sg,
|
||||
io_task->bhs_pa.u.a32.address_hi);
|
||||
|
||||
l_sg = sg;
|
||||
for (index = 0; (index < num_sg) && (index < 2); index++, sg_next(sg)) {
|
||||
for (index = 0; (index < num_sg) && (index < 2); index++,
|
||||
sg = sg_next(sg)) {
|
||||
if (index == 0) {
|
||||
sg_len = sg_dma_len(sg);
|
||||
addr = (u64) sg_dma_address(sg);
|
||||
@ -1755,7 +1756,7 @@ hwi_write_sgl(struct iscsi_wrb *pwrb, struct scatterlist *sg,
|
||||
psgl++;
|
||||
psgl++;
|
||||
offset = 0;
|
||||
for (index = 0; index < num_sg; index++, sg_next(sg), psgl++) {
|
||||
for (index = 0; index < num_sg; index++, sg = sg_next(sg), psgl++) {
|
||||
sg_len = sg_dma_len(sg);
|
||||
addr = (u64) sg_dma_address(sg);
|
||||
AMAP_SET_BITS(struct amap_iscsi_sge, addr_lo, psgl,
|
||||
|
Loading…
Reference in New Issue
Block a user