mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
drm: bridge: dw-hdmi: fixup kernel crash when reboot with hdmi connected
when other devices bind failed,drm will unbind and re-bind all devices. if don't cancel the delayed work but flush and destroy workqueue directly, kernel point is likely to become NULL. Change-Id: Ib48704186ee298cbd4daac1cdbbac5fb3906b6bb Signed-off-by: algea.cao <algea.cao@rock-chips.com>
This commit is contained in:
@@ -3879,6 +3879,13 @@ err_res:
|
||||
|
||||
static void __dw_hdmi_remove(struct dw_hdmi *hdmi)
|
||||
{
|
||||
if (hdmi->irq)
|
||||
disable_irq(hdmi->irq);
|
||||
|
||||
cancel_delayed_work(&hdmi->work);
|
||||
flush_workqueue(hdmi->workqueue);
|
||||
destroy_workqueue(hdmi->workqueue);
|
||||
|
||||
if (hdmi->audio && !IS_ERR(hdmi->audio))
|
||||
platform_device_unregister(hdmi->audio);
|
||||
if (hdmi->hdcp_dev && !IS_ERR(hdmi->hdcp_dev))
|
||||
|
||||
Reference in New Issue
Block a user