[git patches] 2.6.x libata fixes

From: Jeff Garzik
Date: Sun Nov 13 2005 - 16:23:52 EST



Please pull from 'upstream-fixes' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git

to receive the following fixes:

drivers/scsi/libata-core.c | 3 +--
drivers/scsi/libata-scsi.c | 6 ++++++
drivers/scsi/sata_sil24.c | 1 +
3 files changed, 8 insertions(+), 2 deletions(-)

Mark Lord:
libata: fix comments on ata_tf_from_fis()
[libata passthru] address slave devices correctly

Tejun Heo:
sil24: add missing ata_pad_free()

diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index e51d9a8..d81db3a 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -532,8 +532,7 @@ void ata_tf_to_fis(const struct ata_task
* @fis: Buffer from which data will be input
* @tf: Taskfile to output
*
- * Converts a standard ATA taskfile to a Serial ATA
- * FIS structure (Register - Host to Device).
+ * Converts a serial ATA FIS structure to a standard ATA taskfile.
*
* LOCKING:
* Inherited from caller.
diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c
index 261be24..0df4b68 100644
--- a/drivers/scsi/libata-scsi.c
+++ b/drivers/scsi/libata-scsi.c
@@ -2276,6 +2276,12 @@ ata_scsi_pass_thru(struct ata_queued_cmd
tf->device = scsicmd[8];
tf->command = scsicmd[9];
}
+ /*
+ * If slave is possible, enforce correct master/slave bit
+ */
+ if (qc->ap->flags & ATA_FLAG_SLAVE_POSS)
+ tf->device = qc->dev->devno ?
+ tf->device | ATA_DEV1 : tf->device & ~ATA_DEV1;

/*
* Filter SET_FEATURES - XFER MODE command -- otherwise,
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c
index d3198d9..55e744d 100644
--- a/drivers/scsi/sata_sil24.c
+++ b/drivers/scsi/sata_sil24.c
@@ -687,6 +687,7 @@ static void sil24_port_stop(struct ata_p
struct sil24_port_priv *pp = ap->private_data;

sil24_cblk_free(pp, dev);
+ ata_pad_free(ap, dev);
kfree(pp);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/