if (hdmi->suspended) {
hdmi->hpd_pending = true;
} else {
+ cancel_delayed_work(&hdmi->work);
if (tegra_dc_hdmi_hpd(dc))
- schedule_delayed_work(&hdmi->work, msecs_to_jiffies(100));
+ queue_delayed_work(system_nrt_wq, &hdmi->work,
+ msecs_to_jiffies(100));
else
- schedule_delayed_work(&hdmi->work, msecs_to_jiffies(0));
+ queue_delayed_work(system_nrt_wq, &hdmi->work,
+ msecs_to_jiffies(30));
}
spin_unlock_irqrestore(&hdmi->suspend_lock, flags);
hdmi->suspended = false;
if (hdmi->hpd_pending) {
if (tegra_dc_hdmi_hpd(dc))
- schedule_delayed_work(&hdmi->work, msecs_to_jiffies(100));
+ queue_delayed_work(system_nrt_wq, &hdmi->work,
+ msecs_to_jiffies(100));
else
- schedule_delayed_work(&hdmi->work, msecs_to_jiffies(0));
+ queue_delayed_work(system_nrt_wq, &hdmi->work,
+ msecs_to_jiffies(30));
hdmi->hpd_pending = false;
}
spin_unlock_irqrestore(&hdmi->suspend_lock, flags);