[AMD Official Use Only - AMD Internal Distribution Only]
Hi Ray,
You are right. The change is NOT necessary.
Thanks
feng
From: Ni, Ray <ray.ni@intel.com>
Sent: Tuesday, May 7, 2024 8:26 PM
To: Hsueh, Hong-Chih (Neo) <Hong-Chih.Hsueh@amd.com>; Laszlo Ersek <lersek@redhat.com>; devel@edk2.groups.io
Cc: Ding, Feng (Sunnyvale) <feng1.ding@amd.com>; He, Jiangang <Jiangang.He@amd.com>; Chang, Abner <Abner.Chang@amd.com>; gaoliming@byosoft.com.cn
Subject: Re: [PATCH v2] MdeModulePkg/PciBusDxe: plug device hierarchy leak upon bridge hot-unplug
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. |
Neo,
I don't think your change is needed because of the following existing logic where RemoveAllPciDeviceOnBridge() is called to destroy/free all PCI nodes.
if (Operation == EfiPciHotplugRequestRemove) {
if (*NumberOfChildren == 0) {
//
// Remove all devices on the bridge
//
RemoveAllPciDeviceOnBridge (RootBridgeHandle, Bridge);
return EFI_SUCCESS;
}
Thanks,
Ray
From: Hsueh, Hong-Chih (Neo) <Hong-Chih.Hsueh@amd.com>
Sent: Wednesday, May 1, 2024 2:24
To: Laszlo Ersek <lersek@redhat.com>;
devel@edk2.groups.io <devel@edk2.groups.io>; Ni, Ray <ray.ni@intel.com>
Cc: Ding, Feng (Sunnyvale) <feng1.ding@amd.com>; He, Jiangang <Jiangang.He@amd.com>; Chang, Abner <Abner.Chang@amd.com>;
gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>
Subject: Re: [PATCH v2] MdeModulePkg/PciBusDxe: plug device hierarchy leak upon bridge hot-unplug
[AMD Official Use Only - General]
Sorry you bother you, may I have your feedback for this patch?
If it looks good to you could you help to give me an R-b ?
Thank you.
Regards,
Neo
From: Laszlo Ersek <lersek@redhat.com>
Sent: Sunday, February 25, 2024 7:59 AM
To: Hsueh, Hong-Chih (Neo) <Hong-Chih.Hsueh@amd.com>;
devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Ding, Feng (Sunnyvale) <feng1.ding@amd.com>; He, Jiangang <Jiangang.He@amd.com>; Chang, Abner <Abner.Chang@amd.com>;
ray.ni@intel.com <ray.ni@intel.com>;
gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>
Subject: Re: [PATCH v2] MdeModulePkg/PciBusDxe: plug device hierarchy leak upon bridge hot-unplug
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
On 2/22/24 17:28, Neo Hsueh wrote:
> A USB4 or TBT bridge can be plugged or unplugged on USB4 port. The actions require PciHotPlugRequestNotify to add a root bridge or remove a root bridge completely.
> In the plug-unplug-plug scenerio, PciHotPlugRequestNotify will return with no-action on second plug because bridge tree shows configured.
> Destroy Pci Device Tree in function PciHotPlugRequestNotify for unplug event to fix this issue.
>
> Cc: Feng Ding <feng1.ding@amd.com>
> Cc: Jiangang He <jiangang.he@amd.com>
> Signed-off-by: Neo Hsueh <Hong-Chih.Hsueh@amd.com>
> ---
> MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c
> index 3f8c6e6da7..2b7af60e0a 100644
> --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c
> +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c
> @@ -2103,6 +2103,8 @@ PciHotPlugRequestNotify (
> }
> }
>
> + DestroyPciDeviceTree (Bridge);
> +
> //
> // End for
> //
This looks convincing to me, but I don't now nearly enough about
PciBusDxe internals (resource management in particular) to confidently
approve this patch. I can give an
Acked-by: Laszlo Ersek <lersek@redhat.com>
but the patch should not be merged until Ray provides an R-b.
Laszlo