From: Pavel M. <pa...@uc...> - 2004-03-31 16:16:07
|
Hi! > ... > > I can get most devices devies to work by setting the pci registers with setpci > > after resume. I use the attached fixpci.sh script to do so. I can get my > > soundcard, the ethernet card(02:02.0) and the wireless(02:04.0) to work. I > > have not tested firewire(02:07.0). The secound Cardbus bride(02:06.1) seems > > to have more problems, it's not even listed correctly. > > The file "lspci_after_suspend_fix" contains the output of lspci -vvx after > > running fixpci.sh > > > > Restoring the pci registers is a workaround, but I'd like the kernel to handle > > this so I don't have to unload and reload all modules, especially the > > soundcard driver. > > > > It this a acpi bug, a bug in the pci driver or a bug in the drivers for the > > devices? > > Stefan, > Bruno is correct, the PCI config space should be saved and restored by > the driver's suspend and resume routines. suspend/resume routines > typically do other hardware dependent stuff, but your debugging suggests > that at least for some of these devices, simply saving and restoring pci > config space (pci_save_state()/pci_restore_state()) may be sufficient. > > Time to take a look at the drivers for those devices... Perhaps doing it once in PCI layer is better, then? Pavel -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] |