PCI config space is not restored upon resume (macbook pro)

John Baldwin jhb at freebsd.org
Tue Aug 3 13:57:16 UTC 2010


On Tuesday, August 03, 2010 6:49:07 am Oleg Sharoyko wrote:
> Hi!
> 
> 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.

-- 
John Baldwin


More information about the freebsd-hackers mailing list