diff options
author | imp <imp@FreeBSD.org> | 2004-12-08 04:16:18 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2004-12-08 04:16:18 +0000 |
commit | 0a1dc5194778ecbf6efaa48bd0b5654e693ab6bd (patch) | |
tree | 3032358ca0a59c7bbc158a57e07e8b287e3179ec /sys/dev | |
parent | d7a4686564574749b04556e01f20869f4426f31b (diff) | |
download | FreeBSD-src-0a1dc5194778ecbf6efaa48bd0b5654e693ab6bd.zip FreeBSD-src-0a1dc5194778ecbf6efaa48bd0b5654e693ab6bd.tar.gz |
It turns out that a lot of newer systems have 'base peripherals' on
the PCI bus. We presently have no drivers for these devices, so they
are powered down. This is undesirable behavior since it breaks the
system when the base peripherals go away suddenly in the middle of
boot.
# if we ever get generic drivers for memory and/or base peripherals, then
# we can remove the tests here.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/pci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 7a326b6..fd33394 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -1934,7 +1934,8 @@ pci_cfg_save(device_t dev, struct pci_devinfo *dinfo, int setstate) * implement (a) we don't power the device down on a reattach. */ cls = pci_get_class(dev); - if (setstate && cls != PCIC_DISPLAY && cls != PCIC_MEMORY) { + if (setstate && cls != PCIC_DISPLAY && cls != PCIC_MEMORY && + cls != PCIC_BASEPERIPH) { /* * PCI spec is clear that we can only go into D3 state from * D0 state. Transition from D[12] into D0 before going |