> > The only reason we are calling pci_get_domain_bus_and_slot() is to > get > > the pci_dev* to pass into cper_print_aer() so we can have the > device's > > name to put into the trace event for AER. If we can find another way > > to get the device name for the trace event we could remove this call > > to pci_get_domain_bus_and_slot(). I will continue to look into an > > alternative. If you have any ideas on how to get the device data from > > this context let me know. > > Hmm, not sure. > > Off the top of my head, maybe add the whole code around: > > #ifdef CONFIG_ACPI_APEI_PCIEAER > ... > > #endif > > in cper_print_pcie() into a separate function which is called from a > workqueue right after the interrupt is done.. Or something to that > effect. I am sending out a patch that should fix the warning and remove the call to get_pci* out of interrupt context. It is called: [PATCH] aerdrv: Move cper_print_pcie() out of interrupt context Please take a look when you get a chance. Lance ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f