diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c
index a3ca2dcaf70e7b3535816a24d2193c9ec31513d3..d431c5af913308c57430f0f9d50bebff664b0b15 100644
--- a/drivers/block/ahci.c
+++ b/drivers/block/ahci.c
@@ -468,7 +468,7 @@ static char *ata_id_strcpy(u16 *target, u16 *src, int len)
 {
 	int i;
 	for (i = 0; i < len / 2; i++)
-		target[i] = le16_to_cpu(src[i]);
+		target[i] = swab16(src[i]);
 	return (char *)target;
 }