hdmi: rk616

release work queue and disable irq in rk616_hdmi_shutdown
to avid panic when shutdown
This commit is contained in:
xuhuicong
2013-06-22 15:41:46 +08:00
parent 0b6950bb5d
commit 3a9e58f89a
2 changed files with 14 additions and 4 deletions

View File

@@ -355,9 +355,19 @@ static void rk616_hdmi_shutdown(struct platform_device *pdev)
if(hdmi) {
#ifdef CONFIG_HAS_EARLYSUSPEND
unregister_early_suspend(&hdmi->early_suspend);
#endif
}
printk(KERN_INFO "rk616 hdmi shut down.\n");
#endif
flush_delayed_work(&hdmi->delay_work);
mutex_lock(&hdmi->enable_mutex);
hdmi->suspend = 1;
if(!hdmi->enable) {
mutex_unlock(&hdmi->enable_mutex);
return;
}
if (hdmi->irq)
disable_irq(hdmi->irq);
mutex_unlock(&hdmi->enable_mutex);
}
printk(KERN_INFO "rk616 hdmi shut down.\n");
}
static struct platform_driver rk616_hdmi_driver = {

View File

@@ -439,7 +439,7 @@ void rk616_hdmi_work(void)
if(hdmi->pwr_mode == LOWER_PWR)
rk616_hdmi_set_pwr_mode(NORMAL);
queue_delayed_work(hdmi->workqueue, &hdmi->delay_work, msecs_to_jiffies(10));
queue_delayed_work(hdmi->workqueue, &hdmi->delay_work, msecs_to_jiffies(40));
}