svn commit: r215719 - head/sys/dev/pci
Jung-uk Kim
jkim at FreeBSD.org
Mon Nov 22 21:58:00 UTC 2010
Author: jkim
Date: Mon Nov 22 21:58:00 2010
New Revision: 215719
URL: http://svn.freebsd.org/changeset/base/215719
Log:
Resume critical PCI devices (and their children) first, then everything else
later. This give us better chance to catch device driver problems.
Modified:
head/sys/dev/pci/pci.c
Modified: head/sys/dev/pci/pci.c
==============================================================================
--- head/sys/dev/pci/pci.c Mon Nov 22 21:43:45 2010 (r215718)
+++ head/sys/dev/pci/pci.c Mon Nov 22 21:58:00 2010 (r215719)
@@ -3022,8 +3022,35 @@ pci_resume(device_t dev)
if (!device_is_attached(child))
pci_cfg_save(child, dinfo, 1);
}
+
+ /*
+ * Resume critical devices first, then everything else later.
+ */
+ for (i = 0; i < numdevs; i++) {
+ child = devlist[i];
+ switch (pci_get_class(child)) {
+ case PCIC_DISPLAY:
+ case PCIC_MEMORY:
+ case PCIC_BRIDGE:
+ case PCIC_BASEPERIPH:
+ DEVICE_RESUME(child);
+ break;
+ }
+ }
+ for (i = 0; i < numdevs; i++) {
+ child = devlist[i];
+ switch (pci_get_class(child)) {
+ case PCIC_DISPLAY:
+ case PCIC_MEMORY:
+ case PCIC_BRIDGE:
+ case PCIC_BASEPERIPH:
+ break;
+ default:
+ DEVICE_RESUME(child);
+ }
+ }
free(devlist, M_TEMP);
- return (bus_generic_resume(dev));
+ return (0);
}
static void
More information about the svn-src-all
mailing list