Synchronizing IRQ from irq thread context will never return
because the thread will sleep forever.And thats the reason
for DPM timeout and kernel crash when suspend hook also
tries to do so.
[ 204.471652] tegradc tegradc.1: **** DPM device timeout ****
[ 204.484865] [<
c07a58a8>] (__schedule+0x3b4/0x6e0) from [<
c00ccf94>] (synchronize_irq+0xac/0xe4)
[ 204.501399] [<
c00ccf94>] (synchronize_irq+0xac/0xe4) from [<
c0341628>] (tegra_dc_suspend+0xcc/0x15c)
[ 204.518507] [<
c0341628>] (tegra_dc_suspend+0xcc/0x15c) from [<
c03da574>] (platform_pm_suspend+0x58/0x64)
[ 204.536166] [<
c03da574>] (platform_pm_suspend+0x58/0x64) from [<
c0032c00>] (tegra_pd_suspend_dev+0x34/0x9c)
[ 204.554226] [<
c0032c00>] (tegra_pd_suspend_dev+0x34/0x9c) from [<
c03e5384>] (pm_genpd_default_suspend+0x24/0x30)
[ 204.572942] [<
c03e5384>] (pm_genpd_default_suspend+0x24/0x30) from [<
c03e5864>] (pm_genpd_suspend+0x58/0xa4)
[ 204.591515] [<
c03e5864>] (pm_genpd_suspend+0x58/0xa4) from [<
c03dfb30>] (dpm_run_callback+0x34/0x54)
[ 204.609552] [<
c03dfb30>] (dpm_run_callback+0x34/0x54) from [<
c03dffe4>] (__device_suspend+0x16c/0x380)
Bug
1486344
Change-Id: Ie512262fdfef90dc199f1f39ebffb540b909f3e2
Signed-off-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-on: http://git-master/r/450815
GVS: Gerrit_Virtual_Submit
Reviewed-by: Winnie Hsu <whsu@nvidia.com>