FROMLIST: drm/rockchip: vop: Fix vop crtc cleanup
authorDouglas Anderson <dianders@chromium.org>
Mon, 7 Mar 2016 22:00:52 +0000 (14:00 -0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 30 Mar 2016 02:02:47 +0000 (10:02 +0800)
commitd8445394f6806277f1b07caaee832dfa455a09ba
tree4e0db080bbeba8e5c7dd23a0fa59540660b77e36
parent65bee33dab79fc766972bfb5670f7dbfee9b1006
FROMLIST: drm/rockchip: vop: Fix vop crtc cleanup

This fixes a few problems in the vop crtc cleanup (handling error
paths and cleanup upon exit):

* The vop_create_crtc() error path had an unsafe version of the
  iterator used for iterating over all planes (though it was
  destroying planes in the iterator so should have used the safe
  version)

* vop_destroy_crtc() - wasn't calling vop_plane_destroy(), which made
  slub_debug unhappy, at least if we ended up running this due to a
  deferred probe.

* In vop_create_crtc() if we were missing the "port" device tree node
  we would fail but not return an error (found by code inspection).

Fix these problems.

(am from https://patchwork.kernel.org/patch/8523361/)

Change-Id: I3c00faca6e2fc10edc5b4576012ac28b6809a2f3
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
drivers/gpu/drm/rockchip/rockchip_drm_vop.c