[linux-pm] A reference implementation of PCI suspend/resume?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

> From: Shaohua Li [mailto:shaohua.li@xxxxxxxxx] 
> Sent: Wednesday, May 11, 2005 6:25 PM
> To: linux-pm
> Subject: [linux-pm] A reference implementation of PCI suspend/resume?
> 
> Hi,
> There are still many PCI drivers don't implement their 
> .suspend/.resume
> methods correctly. I felt it would be quite helpful there is 
> a reference
> implementation. Here is my thought:
> 
> [...snip...]
> 
> Currently many drivers don't call
> free_irq/request_irq/pci_disable_device, which makes unexpected
> interrupt occur and even break suspend/resume in some systems. 

I don't understand why not calling free_irq would cause unexpected
interrupts.

The way I understand the PCI spec is: if you suspend a PCI device, its IRQ
should be disabled. If an IRQ come from this device anyway (in violation of
the spec) then the driver for this device should handle it so you should NOT
unregister its irq_handler.
(How does such a device would handle such a irq is another matter - a device
specific one I guess)

I'm not understanding where your unexpected interrupt is coming from.

Care to elaborate?

Btw: I'm suspending PCI devices not in the context of a full suspend
situation, maybe that's why I'm missing your point. But your sample
implementation should work in both cases.

  Thanks

-- Fabrice


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux