[PATCH] sata_sil24: SII3124 sata driver endian problem
authorRune Torgersen <runet@innovsys.com>
Sun, 4 Jun 2006 09:51:41 +0000 (02:51 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 5 Jun 2006 19:29:17 +0000 (12:29 -0700)
From: "Rune Torgersen" <runet@innovsys.com>

Fix an endian issue in the sil24 driver.

Signed-off-by: Rune Torgersen <runet@innovsys.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/scsi/sata_sil24.c

index f7264fd611c2226bc71e6d8e552478a8eaaf2748..cb9082fd7e2fd7ff2afaec77e0f36fbbdf8c430b 100644 (file)
@@ -454,7 +454,7 @@ static int sil24_softreset(struct ata_port *ap, int verbose,
         */
        msleep(10);
 
-       prb->ctrl = PRB_CTRL_SRST;
+       prb->ctrl = cpu_to_le16(PRB_CTRL_SRST);
        prb->fis[1] = 0; /* no PM yet */
 
        writel((u32)paddr, port + PORT_CMD_ACTIVATE);
@@ -551,9 +551,9 @@ static void sil24_qc_prep(struct ata_queued_cmd *qc)
 
                if (qc->tf.protocol != ATA_PROT_ATAPI_NODATA) {
                        if (qc->tf.flags & ATA_TFLAG_WRITE)
-                               prb->ctrl = PRB_CTRL_PACKET_WRITE;
+                               prb->ctrl = cpu_to_le16(PRB_CTRL_PACKET_WRITE);
                        else
-                               prb->ctrl = PRB_CTRL_PACKET_READ;
+                               prb->ctrl = cpu_to_le16(PRB_CTRL_PACKET_READ);
                } else
                        prb->ctrl = 0;