From: Lorenzo Pieralisi lpieralisi@kernel.org Sent: Thursday, May 25, 2023 1:23 AM ... On Wed, Apr 19, 2023 at 07:40:35PM -0700, Dexuan Cui wrote:
This reverts commit d6af2ed29c7c1c311b96dac989dcb991e90ee195.
The statement "the hv_pci_bus_exit() call releases structures of all its child devices" in commit d6af2ed29c7c is not true: in the path hv_pci_probe() -> hv_pci_enter_d0() -> hv_pci_bus_exit(hdev, true): the parameter "keep_devs" is true, so hv_pci_bus_exit() does *not* release the child "struct hv_pci_dev *hpdev" that is created earlier in pci_devices_present_work() -> new_pcichild_device().
The commit d6af2ed29c7c was originally made in July 2020 for RHEL 7.7, where the old version of hv_pci_bus_exit() was used; when the commit was rebased and merged into the upstream, people didn't notice that it's not really necessary. The commit itself doesn't cause any issue, but it makes hv_pci_probe() more complicated. Revert it to facilitate some upcoming changes to hv_pci_probe().
If d6af2ed29c7c does not cause any issue this is not a fix and should be merged only with subsequent changes.
d6af2ed29c7c does not cause any functional issue, but it makes the code less readable, and so I'd like to not merge this patch with patch 5 -- this way people can easily know what the real change is in patch 5.