summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorMohan Kumar <mkumard@nvidia.com>2017-08-11 13:52:47 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-18 06:36:23 -0400
commit3d636d2aa176f43040ebed0fb017ed845dacee77 (patch)
tree8f6a75fef94766c4046c3916d4a97504c31f019e /sound/pci/hda
parenta5579c3cb168ce8d65f5df1206d2e56353767e9f (diff)
ALSA: hda: fix hda shutdown callback
During the shutdown callback the userspace is not cleanup the process, due to which pcm streams are active even after kernel shutdown callback. But shutdown callback in hda driver is calling stop chip which is not right way to do as streams are stil active, due to this iommu error is seen as stop chip resets the adma buffer pointer during shutdown which is resulting in iommu errors. Bug 200331912 Change-Id: Ib751fd365430a68c2794789b288a5f6f1f20a31a Signed-off-by: Mohan Kumar <mkumard@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1528815 Reviewed-on: https://git-master.nvidia.com/r/1537525 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Sameer Pujar <spujar@nvidia.com> Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/hda_tegra.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c
index 6196ea023..020b4e85c 100644
--- a/sound/pci/hda/hda_tegra.c
+++ b/sound/pci/hda/hda_tegra.c
@@ -698,14 +698,7 @@ static int hda_tegra_remove(struct platform_device *pdev)
698 698
699static void hda_tegra_shutdown(struct platform_device *pdev) 699static void hda_tegra_shutdown(struct platform_device *pdev)
700{ 700{
701 struct snd_card *card = dev_get_drvdata(&pdev->dev); 701 return;
702 struct azx *chip;
703
704 if (!card)
705 return;
706 chip = card->private_data;
707 if (chip && chip->running)
708 azx_stop_chip(chip);
709} 702}
710 703
711static struct platform_driver tegra_platform_hda = { 704static struct platform_driver tegra_platform_hda = {