PCI config space is not restored upon resume (macbook pro)
jhb at freebsd.org
Tue Aug 3 13:57:16 UTC 2010
On Tuesday, August 03, 2010 6:49:07 am Oleg Sharoyko wrote:
> I'm trying to make FreeBSD (9-Current, checkout on 2010-08-01) correctly
> suspend/resume on macbook pro. As of now I have to issues with resume:
> 1. Display stays blank upon resume. Got 'vga0: failed to reload state'
> in dmesg, but I haven't looked into this yet.
> 2. Some hardware is missing upon resume, specifically ath, msk and firewire.
> This devices disappear because rather strange values are being
> read from pci config space (such as vendor id, device id and others).
I wonder if the bus numbers for PCI-PCI bridges need to be restored on resume?
If they aren't then config transactions won't be routed properly. You could
add a pcib_resume() method that prints out the various bus register values
after resume to see if they match what we print out during boot.
More information about the freebsd-hackers