scsi: fix fall out of sg-chaining patch in qlogicpti
authorBoaz Harrosh <bharrosh@panasas.com>
Mon, 29 Sep 2008 07:38:55 +0000 (09:38 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Mon, 29 Sep 2008 07:41:56 +0000 (09:41 +0200)
Boaz writes:

"I've reviewed all patches since Matthew's, and I find one small
problem.

In the load_cmd() there is a compound loop where the first 4 sg's are
set then the rest are set into a memory structure in group of 7 sg's.

Well the second 7-group and on is a bug because sg pointer does not advance.
This is a fall out from Jens's patch."

The reporter, Meelis Roos <mroos@ut.ee>, verified that this patch
does indeed fix his problem with qlogicpti.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/scsi/qlogicpti.c

index 4a1cf6377f6c89b7a654bf3c38e9e2ae8b1bcc4f..9053508967253b9d894efefbd81bdc1bf125e725 100644 (file)
@@ -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);
                        }
                        sg_count -= n;
+                       sg = s;
                }
        } else {
                cmd->dataseg[0].d_base = 0;