]> Git Repo - linux.git/commitdiff
ALSA: hda/hdmi - Fix duplicate unref of pci_dev
authorLukas Wunner <[email protected]>
Tue, 10 Dec 2019 13:39:50 +0000 (14:39 +0100)
committerTakashi Iwai <[email protected]>
Tue, 10 Dec 2019 17:20:31 +0000 (18:20 +0100)
Nicholas Johnson reports a null pointer deref as well as a refcount
underflow upon hot-removal of a Thunderbolt-attached AMD eGPU.
He's bisected the issue down to commit 586bc4aab878 ("ALSA: hda/hdmi -
fix vgaswitcheroo detection for AMD").

The commit iterates over PCI devices using pci_get_class() and
unreferences each device found, even though pci_get_class()
subsequently unreferences the device as well.  Fix it.

Fixes: 586bc4aab878 ("ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD")
Link: https://lore.kernel.org/r/PSXP216MB0438BFEAA0617283A834E11580580@PSXP216MB0438.KORP216.PROD.OUTLOOK.COM/
Reported-and-tested-by: Nicholas Johnson <[email protected]>
Signed-off-by: Lukas Wunner <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Cc: Mika Westerberg <[email protected]>
Cc: Alexander Deucher <[email protected]>
Cc: Bjorn Helgaas <[email protected]>
Link: https://lore.kernel.org/r/77aa6c01aefe1ebc4004e87b0bc714f2759f15c4.1575985006.git.lukas@wunner.de
Signed-off-by: Takashi Iwai <[email protected]>
sound/pci/hda/hda_intel.c

index 35b4526f0d287a582da079a9af63f9db070e3fab..b856b89378ac556d1dead5ec23b875542ac6d736 100644 (file)
@@ -1419,7 +1419,6 @@ static bool atpx_present(void)
                                return true;
                        }
                }
-               pci_dev_put(pdev);
        }
        return false;
 }
This page took 0.067479 seconds and 4 git commands to generate.