[lkml]   [2006]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 9/9] PCI PM: generic suspend/resume fixes
On Mon, 2006-06-05 at 11:21 +0100, Alan Cox wrote:
> Ar Llu, 2006-06-05 am 04:46 -0400, ysgrifennodd Adam Belay:
> > + * Default suspend method for devices that have no driver provided suspend,
> > + * or not even a driver at all.
> > + */
> > +static void pci_default_suspend(struct pci_dev *pci_dev)
> > +{
> > + pci_save_state(pci_dev);
> > + pci_disable_device(pci_dev);
> > +}
> How much testing has this had ? When people starting doing
> disable_device on arbitary hardware various platforms broke horribly
> as a result.

Hi Alan,

I've only tested this on a few x86 boxes. However, I think it's moving
in the right direction for correctly suspending devices. It's worth
mentioning that the PCI PM specification requires the device to be
disabled before entering D3 (something that we fail to do before this
patchset), and the vast majority of devices would end up in this state
if we were using pci_set_power_state() in this function.

Unfortunately, far too many drivers still depend on this generic suspend
call, when they should all implement their own suspend function. I
would except pci_disable_device() issues to the the exception, and as
such, device drivers should provide a ->suspend function that doesn't
call pci_disable_device() when they know their hardware can be

With that in mind, any thoughts on giving this a little time in -mm and
seeing how it fares? If any problems come up, we could revert to a more
conservative approach.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-06-05 19:38    [W:0.062 / U:4.984 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site