[PATCH] sata_mv: endian fix
authorMark Lord <liml@rtr.ca>
Fri, 19 May 2006 20:40:15 +0000 (16:40 -0400)
committerJeff Garzik <jeff@garzik.org>
Sat, 20 May 2006 04:31:45 +0000 (00:31 -0400)
This fixes a byte-swap issue on PPC, found by Zang Roy-r61911
on the powerpc platform.  His original patch also had some other
platform-specific changes in #ifdef's, but I'm not sure yet how to
incorporate them.  Look for another patch for those (soon).

Signed-off-by: Mark Lord <liml@rtr.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/scsi/sata_mv.c

index dea9d4e4258654aee2f30a61b15ffc76cd0262d0..dcda579ee93ab5c0322145695276db4fa4c78ea6 100644 (file)
@@ -1030,8 +1030,9 @@ static inline unsigned mv_inc_q_index(unsigned index)
 
 static inline void mv_crqb_pack_cmd(u16 *cmdw, u8 data, u8 addr, unsigned last)
 {
-       *cmdw = data | (addr << CRQB_CMD_ADDR_SHIFT) | CRQB_CMD_CS |
+       u16 tmp = data | (addr << CRQB_CMD_ADDR_SHIFT) | CRQB_CMD_CS |
                (last ? CRQB_CMD_LAST : 0);
+       *cmdw = cpu_to_le16(tmp);
 }
 
 /**