[PATCH] Bugfix: powerpc/eeh: Create eeh sysfs entry in post_init()

Mike Qiu qiudayu at linux.vnet.ibm.com
Thu Jun 26 16:34:25 EST 2014


On 06/26/2014 08:12 AM, Gavin Shan wrote:
> On Wed, Jun 25, 2014 at 03:27:55PM +0800, Mike Qiu wrote:
>> On 06/25/2014 01:33 PM, Gavin Shan wrote:
>>> On Tue, Jun 24, 2014 at 11:32:07PM -0400, Mike Qiu wrote:
>>>
>>> [ cc Richard ]
>>>
>>>> Eeh sysfs entry created must be after EEH_ENABLED been set
>>>> in eeh_subsystem_flags.
>>>>
>>>> In PowerNV platform, it try to create sysfs entry before
>>>> EEH_ENABLED been set, when boot up. So nothing will be
>>>> created for eeh in sysfs.
>>>>
>>> Could you please make the commit log more clear? :-)
>>>
>>> I guess the issue is introduced by commit 2213fb1 ("
>>> powerpc/eeh: Skip eeh sysfs when eeh is disabled"). The
>>> commit checks EEH is enabled while creating PCI device
>>> EEH sysfs files. If not, the sysfs files won't be created.
>>> That's to avoid warning reported during PCI hotplug.
>>>
>>> The problem you're reporting (if I understand completely):
>>> You don't see the sysfs files after the system boots up.
>>> If it's the case, you probably need following changes in
>>> arch/powerpc/platforms/powernv/pci.c::pnv_pci_ioda_fixup().
>>> Could you have a try with it?
>>>
>>> #ifdef CONFIG_EEH
>>> 	eeh_probe_mode_set(EEH_PROBE_MODE_DEV);
>>> -	eeh_addr_cache_build();
>>> 	eeh_init();
>>> +	eeh_addr_cache_build();
>>> #endif
>> But this was not work, as I test, see boot log below:
>>
> Yeah, we can't convert eeh_dev to pci_dev that time. The
> association is populated by eeh_addr_cache_build(). The
> attached patch should fix your issue. I tried on P7 machine
> and sysfs entries created. Could you help having a test
> on your machine? :-)

I have tested, works good.

Thanks
Mike
>
> Thanks,
> Gavin



More information about the Linuxppc-dev mailing list