[Devel] Re: [PATCH] pci_get_device call from interrupt in reboot fixups

Denis V. Lunev den at sw.ru
Mon Aug 6 00:16:20 PDT 2007


Greg KH wrote:
> On Fri, Aug 03, 2007 at 02:39:24PM +0400, Denis V. Lunev wrote:
>> The following calltrace is possible now:
>>  handle_sysrq
>>    machine_emergency_restart
>>      mach_reboot_fixups
>>        pci_get_device
>>          pci_get_subsys
>> 	   down_read
>> The patch obtains PCI device during initialization to avoid bothering PCI
>> search engine in interrupt. Devices used in this code are not supposed to
>> be pluggable, so it looks safe to keep them.
> 
> What devices are supposed to be affected here?  Are you sure that they
> can't be removed later?  Grabbing references here might mess with them
> in the future.
Right now the list is the following:
static struct device_fixup fixups_table[] = {
{ PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY,
cs5530a_warm_reset },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, cs5536_warm_reset },
};

Though, if the approach is not suitable, we can skip fixups if we came
from sysrq.

Regards,
	Den




More information about the Devel mailing list