RE: WARNING at drivers/pci/search.c:214 for 3.9

From: Ortiz, Lance E
Date: Wed May 08 2013 - 13:23:30 EST


> > 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
¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_