Gavin Shan <gws...@linux.vnet.ibm.com> writes: > On Tue, Oct 13, 2015 at 12:43:23PM +1100, Daniel Axtens wrote: >>Gavin Shan <gws...@linux.vnet.ibm.com> writes: >> >>> + * >>> + * When the PHB is fenced, we have to issue a reset to recover from >>> + * the error. Override the result if necessary to have partially >>> + * hotplug for this case. >>> */ >>> pr_info("EEH: Notify device drivers to shutdown\n"); >>> eeh_pe_dev_traverse(pe, eeh_report_error, &result); >>> + if ((pe->type & EEH_PE_PHB) && >>> + result != PCI_ERS_RESULT_NONE && >>> + result != PCI_ERS_RESULT_NEED_RESET) >>> + result = PCI_ERS_RESULT_NEED_RESET; >>I think we shouldn't discard the DISCONNECT state. A driver could ask >>that the device be disconnected in the error_detected callback and we >>should probably honour that. >> > > Not exactly, the improvement is limited to fenced PHB, not frozen PE case. > That's ok to discard DISCONNECT which forces all PHB's subordinate devices > to offline permanently, which isn't so reasonable.
I see. That makes more sense now. It's still a bit hacky but I can see why it should be the way it is. Reviewed-by: Daniel Axtens <d...@axtens.net> > > This flag (DISCONNECT) has been there before the partial hotplug is > added. I think the flag can die now with partial hotplug support. OK. It looks like I need to put some more thought into partial hotplug. I'm increasingly thinking it would be worth redesigning the state machine and the enumerations/flags to better deal with how things have evolved over the years. Regards, Daniel > > Thanks, > Gavin > >>> >>> /* Get the current PCI slot state. This can take a long time, >>> * sometimes over 300 seconds for certain systems. >>> -- >>> 2.1.0 >>> >>> _______________________________________________ >>> Linuxppc-dev mailing list >>> Linuxppc-dev@lists.ozlabs.org >>> https://lists.ozlabs.org/listinfo/linuxppc-dev
signature.asc
Description: PGP signature
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev