Browse Source

[PATCH] sata_mv: endian fix

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>
Mark Lord 19 năm trước cách đây
mục cha
commit
559eedad7f
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      drivers/scsi/sata_mv.c

+ 2 - 1
drivers/scsi/sata_mv.c

@@ -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)
 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);
 		(last ? CRQB_CMD_LAST : 0);
+	*cmdw = cpu_to_le16(tmp);
 }
 }
 
 
 /**
 /**