]> git.karo-electronics.de Git - linux-beck.git/commitdiff
Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
authorLinus Torvalds <torvalds@g5.osdl.org>
Sun, 13 Nov 2005 21:45:00 +0000 (13:45 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 13 Nov 2005 21:45:00 +0000 (13:45 -0800)
drivers/scsi/libata-core.c
drivers/scsi/libata-scsi.c
drivers/scsi/sata_sil24.c

index e51d9a8a2796fc076eff174fcb16ebffd9e5ffe9..d81db3a3d4b9a82a916659574a20f35328329ab4 100644 (file)
@@ -532,8 +532,7 @@ void ata_tf_to_fis(const struct ata_taskfile *tf, u8 *fis, u8 pmp)
  *     @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.
index 261be24e1df36bddfc63cb7e437b7183c31766b4..0df4b682965d41aab2d040edc7914444f3ebe10e 100644 (file)
@@ -2276,6 +2276,12 @@ ata_scsi_pass_thru(struct ata_queued_cmd *qc, const u8 *scsicmd)
                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,
index d3198d9a72c12ffd3084ba39049c1ebeef197411..55e744d6db88338486d4c471dc311f3bb480a080 100644 (file)
@@ -687,6 +687,7 @@ static void sil24_port_stop(struct ata_port *ap)
        struct sil24_port_priv *pp = ap->private_data;
 
        sil24_cblk_free(pp, dev);
+       ata_pad_free(ap, dev);
        kfree(pp);
 }