Skip to content

Commit bdda1c3

Browse files
Uwe Kleine-Königgregkh
authored andcommitted
PCI: exynos: Don't discard .remove() callback
[ Upstream commit 83a939f ] With CONFIG_PCI_EXYNOS=y and exynos_pcie_remove() marked with __exit, the function is discarded from the driver. In this case a bound device can still get unbound, e.g via sysfs. Then no cleanup code is run resulting in resource leaks or worse. The right thing to do is do always have the remove callback available. This fixes the following warning by modpost: WARNING: modpost: drivers/pci/controller/dwc/pci-exynos: section mismatch in reference: exynos_pcie_driver+0x8 (section: .data) -> exynos_pcie_remove (section: .exit.text) (with ARCH=x86_64 W=1 allmodconfig). Fixes: 340cba6 ("pci: Add PCIe driver for Samsung Exynos") Link: https://lore.kernel.org/r/20231001170254.2506508-2-u.kleine-koenig@pengutronix.de Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Cc: stable@vger.kernel.org Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 62d15b6 commit bdda1c3

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/pci/controller/dwc/pci-exynos.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ static int __init exynos_pcie_probe(struct platform_device *pdev)
503503
return ret;
504504
}
505505

506-
static int __exit exynos_pcie_remove(struct platform_device *pdev)
506+
static int exynos_pcie_remove(struct platform_device *pdev)
507507
{
508508
struct exynos_pcie *ep = platform_get_drvdata(pdev);
509509

@@ -522,7 +522,7 @@ static const struct of_device_id exynos_pcie_of_match[] = {
522522
};
523523

524524
static struct platform_driver exynos_pcie_driver = {
525-
.remove = __exit_p(exynos_pcie_remove),
525+
.remove = exynos_pcie_remove,
526526
.driver = {
527527
.name = "exynos-pcie",
528528
.of_match_table = exynos_pcie_of_match,

0 commit comments

Comments
 (0)