diff options
author | sos <sos@FreeBSD.org> | 2007-02-21 19:03:34 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2007-02-21 19:03:34 +0000 |
commit | a2861c6b3ab6834963fd37e787a02f1316fff16a (patch) | |
tree | e0cdcae96603d90f5e63223a29ac8bd01991e248 /sys/dev/ata/ata-pci.c | |
parent | cacf0d22c40108d2bf73286869a50235afa4a913 (diff) | |
download | FreeBSD-src-a2861c6b3ab6834963fd37e787a02f1316fff16a.zip FreeBSD-src-a2861c6b3ab6834963fd37e787a02f1316fff16a.tar.gz |
Try again with supporting AHCI chipsets with partly implemented ports.
Diffstat (limited to 'sys/dev/ata/ata-pci.c')
-rw-r--r-- | sys/dev/ata/ata-pci.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 1acd68d..3bc6d8f 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 1998 - 2006 Søren Schmidt <sos@FreeBSD.org> + * Copyright (c) 1998 - 2007 Søren Schmidt <sos@FreeBSD.org> * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -568,8 +568,11 @@ ata_pcichannel_attach(device_t dev) if (ch->dma) ch->dma->alloc(dev); - if ((error = ctlr->allocate(dev))) + if ((error = ctlr->allocate(dev))) { + if (ch->dma) + ch->dma->free(dev); return error; + } return ata_attach(dev); } |