Patch "PCI: endpoint: Destroy the EPC device in devm_pci_epc_destroy()" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    PCI: endpoint: Destroy the EPC device in devm_pci_epc_destroy()

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     pci-endpoint-destroy-the-epc-device-in-devm_pci_epc_.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 3c32457592042da6ecd4ffe7d991f87f459ba61b
Author: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
Date:   Tue Dec 10 22:00:18 2024 +0800

    PCI: endpoint: Destroy the EPC device in devm_pci_epc_destroy()
    
    [ Upstream commit d4929755e4d02bd3de3ae5569dab69cb9502c54f ]
    
    The devm_pci_epc_destroy() comment says destroys the EPC device, but it
    does not actually do that since devres_destroy() does not call
    devm_pci_epc_release(), and it also can not fully undo what the API
    devm_pci_epc_create() does, so it is faulty.
    
    Fortunately, the faulty API has not been used by current kernel tree.  Use
    devres_release() instead of devres_destroy() so the EPC device will be
    released.
    
    Link: https://lore.kernel.org/r/20241210-pci-epc-core_fix-v3-1-4d86dd573e4b@xxxxxxxxxxx
    Fixes: 5e8cb4033807 ("PCI: endpoint: Add EP core layer to enable EP controller and EP functions")
    Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
    Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c
index ea7e7465ce7a6..8062bc2432303 100644
--- a/drivers/pci/endpoint/pci-epc-core.c
+++ b/drivers/pci/endpoint/pci-epc-core.c
@@ -616,7 +616,7 @@ void devm_pci_epc_destroy(struct device *dev, struct pci_epc *epc)
 {
 	int r;
 
-	r = devres_destroy(dev, devm_pci_epc_release, devm_pci_epc_match,
+	r = devres_release(dev, devm_pci_epc_release, devm_pci_epc_match,
 			   epc);
 	dev_WARN_ONCE(dev, r, "couldn't find PCI EPC resource\n");
 }




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux