From d859486b15a8e4073dbbfdf9900fc316ab5bdfa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 6 Sep 2010 19:24:02 +0000 Subject: [PATCH] Only swap words on little endian machines. Checked against FreeBSD. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38552 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/bus_managers/ata/ATAHelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/bus_managers/ata/ATAHelper.cpp b/src/add-ons/kernel/bus_managers/ata/ATAHelper.cpp index 1e0d62f21d..4996c84642 100644 --- a/src/add-ons/kernel/bus_managers/ata/ATAHelper.cpp +++ b/src/add-ons/kernel/bus_managers/ata/ATAHelper.cpp @@ -72,7 +72,7 @@ swap_words(void *data, size_t size) uint16 *word = (uint16 *)data; size_t count = size / 2; while (count--) { - *word = (*word << 8) | (*word >> 8); + *word = B_BENDIAN_TO_HOST_INT16(*word); word++; } }