summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2006-11-17 11:13:47 +0000
committersos <sos@FreeBSD.org>2006-11-17 11:13:47 +0000
commitf53308110bc715c1ce8de2cc4334ff4b72677cbc (patch)
tree2fe9d78181995d514bc09082c982810d15f7fb0d /sys/dev/ata
parent75a5c5100987b9f5d82f3d7d35674c19bcef2086 (diff)
downloadFreeBSD-src-f53308110bc715c1ce8de2cc4334ff4b72677cbc.zip
FreeBSD-src-f53308110bc715c1ce8de2cc4334ff4b72677cbc.tar.gz
Deal more generically with the byteswap needed on !littleendian HW.
Account for the odd layout on ARM bigendian HW.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-all.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index bdf1eed..c25ac82 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -601,12 +601,12 @@ ata_getparam(struct ata_device *atadev, int init)
isprint(atadev->param.model[1]))) {
struct ata_params *atacap = &atadev->param;
char buffer[64];
-#if BYTE_ORDER == BIG_ENDIAN
+#ifndef __ARMEB__
int16_t *ptr;
for (ptr = (int16_t *)atacap;
ptr < (int16_t *)atacap + sizeof(struct ata_params)/2; ptr++) {
- *ptr = bswap16(*ptr);
+ *ptr = le16toh(*ptr);
}
#endif
if (!(!strncmp(atacap->model, "FX", 2) ||
OpenPOWER on IntegriCloud