diff options
author | sos <sos@FreeBSD.org> | 2004-10-07 11:43:25 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2004-10-07 11:43:25 +0000 |
commit | 181b909b2c3e752e8bc25858c8da7f0cb8882c92 (patch) | |
tree | e437b32080404291771f0e35e5f3d1732beb9270 | |
parent | 7552c3e8f736094ca96bd989ae6119a18a7e3799 (diff) | |
download | FreeBSD-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.
-rw-r--r-- | sys/dev/ata/ata-all.c | 12 |
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) |