aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2013-01-15 02:18:04 +0000
committerAlexander Motin <mav@FreeBSD.org>2013-01-15 02:18:04 +0000
commit14b5a2cd6b37623a5873539fdb5585db116fe65f (patch)
tree645f2a0553af4471351da53d7473b8c0998c9e31 /sys/dev/ata
parentf62c1a47d6fbb12ee019fc7c3f0b5b89fb6a0edb (diff)
downloadsrc-14b5a2cd6b37623a5873539fdb5585db116fe65f.tar.gz
src-14b5a2cd6b37623a5873539fdb5585db116fe65f.zip
In case somebody still use it, fix legacy ataraid(4) to work on combined
PATA+AHCI controllers, such as JMicron JMB363. PR: kern/159271 MFC after: 1 week
Notes
Notes: svn path=/head/; revision=245446
Diffstat (limited to 'sys/dev/ata')
-rw-r--r--sys/dev/ata/ata-raid.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c
index c96e252dbc4a..5b0595c9d244 100644
--- a/sys/dev/ata/ata-raid.c
+++ b/sys/dev/ata/ata-raid.c
@@ -1351,10 +1351,11 @@ static int
ata_raid_read_metadata(device_t subdisk)
{
devclass_t pci_devclass = devclass_find("pci");
+ devclass_t atapci_devclass = devclass_find("atapci");
devclass_t devclass=device_get_devclass(GRANDPARENT(GRANDPARENT(subdisk)));
/* prioritize vendor native metadata layout if possible */
- if (devclass == pci_devclass) {
+ if (devclass == pci_devclass || devclass == atapci_devclass) {
switch (pci_get_vendor(GRANDPARENT(device_get_parent(subdisk)))) {
case ATA_HIGHPOINT_ID:
if (ata_raid_hptv3_read_meta(subdisk, ata_raid_arrays))