diff options
author | Mohan Kumar <mkumard@nvidia.com> | 2017-08-11 13:52:47 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-08-18 06:36:23 -0400 |
commit | 3d636d2aa176f43040ebed0fb017ed845dacee77 (patch) | |
tree | 8f6a75fef94766c4046c3916d4a97504c31f019e /sound/pci/hda | |
parent | a5579c3cb168ce8d65f5df1206d2e56353767e9f (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.c | 9 |
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 | ||
699 | static void hda_tegra_shutdown(struct platform_device *pdev) | 699 | static 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 | ||
711 | static struct platform_driver tegra_platform_hda = { | 704 | static struct platform_driver tegra_platform_hda = { |