diff options
author | sos <sos@FreeBSD.org> | 2005-04-19 12:33:26 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2005-04-19 12:33:26 +0000 |
commit | 6762159f447a21c4628baf709fe2e7b25826de39 (patch) | |
tree | a83447667089a8a759ae82910264c22a56511ae6 /sys/dev/ata | |
parent | 9452a25d2d8a61849660abb8d34cba673cab0d14 (diff) | |
download | FreeBSD-src-6762159f447a21c4628baf709fe2e7b25826de39.zip FreeBSD-src-6762159f447a21c4628baf709fe2e7b25826de39.tar.gz |
CFA (Compact Flash) devices has a special config ID that fails the
normal ATA device check in ata-disk.c. Add support for the CFA magic.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r-- | sys/dev/ata/ata-all.h | 1 | ||||
-rw-r--r-- | sys/dev/ata/ata-disk.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-all.h b/sys/dev/ata/ata-all.h index 12433c2..32bf26d 100644 --- a/sys/dev/ata/ata-all.h +++ b/sys/dev/ata/ata-all.h @@ -204,6 +204,7 @@ #define ATA_PC98_BANKADDR_RID 9 #define ATA_IRQ_RID 0 #define ATA_DEV(device) ((device == ATA_MASTER) ? 0 : 1) +#define ATA_CFA_MAGIC 0x848A #define ATAPI_MAGIC_LSB 0x14 #define ATAPI_MAGIC_MSB 0xeb #define ATAPI_P_READ (ATA_S_DRQ | ATA_I_IN) diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 0679a37..11fe96a 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -71,7 +71,8 @@ ad_probe(device_t dev) { struct ata_device *atadev = device_get_softc(dev); - if (!(atadev->param.config & ATA_PROTO_ATAPI)) + if (!(atadev->param.config & ATA_PROTO_ATAPI) || + (atadev->param.config == ATA_CFA_MAGIC)) return 0; else return ENXIO; |