Skip to content

Commit

Permalink
ALSA: hda/hdmi - Fix duplicate unref of pci_dev
Browse files Browse the repository at this point in the history
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 586bc4a ("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: 586bc4a ("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]>
  • Loading branch information
l1k authored and tiwai committed Dec 10, 2019
1 parent 4801363 commit 6e8aeda
Showing 1 changed file with 0 additions and 1 deletion.
1 change: 0 additions & 1 deletion sound/pci/hda/hda_intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -1419,7 +1419,6 @@ static bool atpx_present(void)
return true;
}
}
pci_dev_put(pdev);
}
return false;
}
Expand Down

0 comments on commit 6e8aeda

Please sign in to comment.