[AMD Official Use Only - AMD Internal Distribution Only]

Hi Ray,

You are right. The change is NOT necessary.

Thanks
feng

From: Ni, Ray <ray...@intel.com>
Sent: Tuesday, May 7, 2024 8:26 PM
To: Hsueh, Hong-Chih (Neo) <hong-chih.hs...@amd.com>; Laszlo Ersek 
<ler...@redhat.com>; devel@edk2.groups.io
Cc: Ding, Feng (Sunnyvale) <feng1.d...@amd.com>; He, Jiangang 
<jiangang...@amd.com>; Chang, Abner <abner.ch...@amd.com>; 
gaolim...@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.hs...@amd.com<mailto:hong-chih.hs...@amd.com>>
Sent: Wednesday, May 1, 2024 2:24
To: Laszlo Ersek <ler...@redhat.com<mailto:ler...@redhat.com>>; 
devel@edk2.groups.io<mailto:devel@edk2.groups.io> 
<devel@edk2.groups.io<mailto:devel@edk2.groups.io>>; Ni, Ray 
<ray...@intel.com<mailto:ray...@intel.com>>
Cc: Ding, Feng (Sunnyvale) <feng1.d...@amd.com<mailto:feng1.d...@amd.com>>; He, 
Jiangang <jiangang...@amd.com<mailto:jiangang...@amd.com>>; Chang, Abner 
<abner.ch...@amd.com<mailto:abner.ch...@amd.com>>; 
gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn> 
<gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn>>
Subject: Re: [PATCH v2] MdeModulePkg/PciBusDxe: plug device hierarchy leak upon 
bridge hot-unplug


[AMD Official Use Only - General]

Hi @ray...@intel.com<mailto:ray...@intel.com>,

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 <ler...@redhat.com<mailto:ler...@redhat.com>>
Sent: Sunday, February 25, 2024 7:59 AM
To: Hsueh, Hong-Chih (Neo) 
<hong-chih.hs...@amd.com<mailto:hong-chih.hs...@amd.com>>; 
devel@edk2.groups.io<mailto:devel@edk2.groups.io> 
<devel@edk2.groups.io<mailto:devel@edk2.groups.io>>
Cc: Ding, Feng (Sunnyvale) <feng1.d...@amd.com<mailto:feng1.d...@amd.com>>; He, 
Jiangang <jiangang...@amd.com<mailto:jiangang...@amd.com>>; Chang, Abner 
<abner.ch...@amd.com<mailto:abner.ch...@amd.com>>; 
ray...@intel.com<mailto:ray...@intel.com> 
<ray...@intel.com<mailto:ray...@intel.com>>; 
gaolim...@byosoft.com.cn<mailto:gaolim...@byosoft.com.cn> 
<gaolim...@byosoft.com.cn<mailto:gaolim...@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.d...@amd.com<mailto:feng1.d...@amd.com>>
> Cc: Jiangang He <jiangang...@amd.com<mailto:jiangang...@amd.com>>
> Signed-off-by: Neo Hsueh 
> <hong-chih.hs...@amd.com<mailto:hong-chih.hs...@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 <ler...@redhat.com<mailto:ler...@redhat.com>>

but the patch should not be merged until Ray provides an R-b.

Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119051): https://edk2.groups.io/g/devel/message/119051
Mute This Topic: https://groups.io/mt/104511503/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to