From 5345b2d7552b4c8a4d8df5294150a5761d8bf4cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Schmidt?= Date: Tue, 19 Apr 2005 12:33:26 +0000 Subject: [PATCH] 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. --- sys/dev/ata/ata-all.h | 1 + sys/dev/ata/ata-disk.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/ata/ata-all.h b/sys/dev/ata/ata-all.h index 12433c2ac94..32bf26d5262 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 0679a37c3f9..11fe96af9cc 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;