Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a801184fa480e11e6431f184a5bdf31f63326fb
Commit:     7a801184fa480e11e6431f184a5bdf31f63326fb
Parent:     07c53dac4904206a50dd7c87adabbb1acff903fb
Author:     Brian King <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 17 12:32:12 2007 -0600
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Wed Jan 24 02:04:34 2007 -0500

    libata: Fixup n_elem initialization
    
    Fixup the inialization of qc->n_elem. It currently gets
    initialized to 1 for commands that do not transfer any data.
    Fix this by initializing n_elem to 0 and only setting to 1
    in ata_scsi_qc_new when there is data to transfer. This fixes
    some problems seen with SATA devices attached to ipr adapters.
    
    Signed-off-by: Brian King <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/ata/libata-scsi.c |    2 +-
 include/linux/libata.h    |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 836947d..7cc5a4a 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -372,7 +372,7 @@ struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device 
*dev,
                if (cmd->use_sg) {
                        qc->__sg = (struct scatterlist *) cmd->request_buffer;
                        qc->n_elem = cmd->use_sg;
-               } else {
+               } else if (cmd->request_bufflen) {
                        qc->__sg = &qc->sgent;
                        qc->n_elem = 1;
                }
diff --git a/include/linux/libata.h b/include/linux/libata.h
index e53a13b..65d3187 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -1149,6 +1149,7 @@ static inline void ata_qc_reinit(struct ata_queued_cmd 
*qc)
        qc->cursect = qc->cursg = qc->cursg_ofs = 0;
        qc->nsect = 0;
        qc->nbytes = qc->curbytes = 0;
+       qc->n_elem = 0;
        qc->err_mask = 0;
 
        ata_tf_init(qc->dev, &qc->tf);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to