drm/mediatek: clear num_pipes when unbind driver
authorHsin-Yi Wang <hsinyi@chromium.org>
Wed, 29 May 2019 10:25:55 +0000 (18:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jul 2019 07:53:34 +0000 (09:53 +0200)
[ Upstream commit a4cd1d2b016d5d043ab2c4b9c4ec50a5805f5396 ]

num_pipes is used for mutex created in mtk_drm_crtc_create(). If we
don't clear num_pipes count, when rebinding driver, the count will
be accumulated. From mtk_disp_mutex_get(), there can only be at most
10 mutex id. Clear this number so it starts from 0 in every rebind.

Fixes: 119f5173628a ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.")
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Signed-off-by: CK Hu <ck.hu@mediatek.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_drv.c

index 3df8a9d..fd83046 100644 (file)
@@ -393,6 +393,7 @@ static void mtk_drm_unbind(struct device *dev)
        drm_dev_unregister(private->drm);
        mtk_drm_kms_deinit(private->drm);
        drm_dev_put(private->drm);
+       private->num_pipes = 0;
        private->drm = NULL;
 }