Re: [PATCH net 3/3] net: hibmcge: fix the inappropriate netif_device_detach()
From: Jacob Keller
Date: Fri Oct 24 2025 - 16:27:01 EST
On 10/24/2025 12:21 AM, Jijie Shao wrote:
>
> on 2025/10/24 9:05, Jacob Keller wrote:
>>
>> On 10/21/2025 7:00 AM, Jijie Shao wrote:
>>> current, driver will call netif_device_detach() in
>>> pci_error_handlers.error_detected() and do reset in
>>> pci_error_handlers.slot_reset().
>>> However, if pci_error_handlers.slot_reset() is not called
>>> after pci_error_handlers.error_detected(),
>>> driver will be detached and unable to recover.
>>>
>>> drivers/pci/pcie/err.c/report_error_detected() says:
>>> If any device in the subtree does not have an error_detected
>>> callback, PCI_ERS_RESULT_NO_AER_DRIVER prevents subsequent
>>> error callbacks of any device in the subtree, and will
>>> exit in the disconnected error state.
>>>
>>> Therefore, when the hibmcge device and other devices that do not
>>> support the error_detected callback are under the same subtree,
>>> hibmcge will be unable to do slot_reset.
>>>
>> Hmm.
>>
>> In the example case, the slot_reset never happens, but the PCI device is
>> still in an error state, which means that the device is not functional..
>>
>> In that case detaching the netdev and remaining detached seems like an
>> expected outcome?
>>
>> I guess I don't fully understand the setup in this scenario.
>
> We have encountered some non-fatal errors, such as the SMMU event 0x10,
> which triggered the PCIe RAS and caused the network port to become unusable.
>
Right. I forgot the same function is called even for non-fatal errors.
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature