summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-10-07 11:43:25 +0000
committersos <sos@FreeBSD.org>2004-10-07 11:43:25 +0000
commit181b909b2c3e752e8bc25858c8da7f0cb8882c92 (patch)
treee437b32080404291771f0e35e5f3d1732beb9270 /sys
parent7552c3e8f736094ca96bd989ae6119a18a7e3799 (diff)
downloadFreeBSD-src-181b909b2c3e752e8bc25858c8da7f0cb8882c92.zip
FreeBSD-src-181b909b2c3e752e8bc25858c8da7f0cb8882c92.tar.gz
Add SHARP to the pool of drives that doesn not need byteswapping of
the model etc fields from identify.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ata/ata-all.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index 6bc631d..982fdae 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -680,16 +680,18 @@ ata_getparam(struct ata_device *atadev, u_int8_t command)
*ptr = bswap16(*ptr);
}
#endif
- if (!((atacap->model[0] == 'N' && atacap->model[1] == 'E') ||
- (atacap->model[0] == 'F' && atacap->model[1] == 'X') ||
- (atacap->model[0] == 'P' && atacap->model[1] == 'i')))
+ if (!(!strncmp(atacap->model, "FX", 2) ||
+ !strncmp(atacap->model, "NEC", 3) ||
+ !strncmp(atacap->model, "Pioneer", 7) ||
+ !strncmp(atacap->model, "SHARP", 5))) {
bswap(atacap->model, sizeof(atacap->model));
+ bswap(atacap->revision, sizeof(atacap->revision));
+ bswap(atacap->serial, sizeof(atacap->serial));
+ }
btrim(atacap->model, sizeof(atacap->model));
bpack(atacap->model, atacap->model, sizeof(atacap->model));
- bswap(atacap->revision, sizeof(atacap->revision));
btrim(atacap->revision, sizeof(atacap->revision));
bpack(atacap->revision, atacap->revision, sizeof(atacap->revision));
- bswap(atacap->serial, sizeof(atacap->serial));
btrim(atacap->serial, sizeof(atacap->serial));
bpack(atacap->serial, atacap->serial, sizeof(atacap->serial));
if (bootverbose)
OpenPOWER on IntegriCloud