drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
[ Upstream commit ee7860cd8b5763017f8dc785c2851fecb7a0c565 ] The ilitek-ili9881c controls the reset GPIO using the non-sleeping gpiod_set_value() function. This complains loudly when the GPIO controller needs to sleep. As the caller can sleep, use gpiod_set_value_cansleep() to fix the issue. This fixes CVE-2024-42087 Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20240317154839.21260-1-laurent.pinchart@ideasonboard.com Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240317154839.21260-1-laurent.pinchart@ideasonboard.com Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Huang Cun <cunhuang@tencent.com> Signed-off-by: Jianping Liu <frankjpliu@tencent.com>
This commit is contained in:
parent
a2e47aed04
commit
1967c51fa4
|
@ -307,10 +307,10 @@ static int ili9881c_prepare(struct drm_panel *panel)
|
|||
msleep(5);
|
||||
|
||||
/* And reset it */
|
||||
gpiod_set_value(ctx->reset, 1);
|
||||
gpiod_set_value_cansleep(ctx->reset, 1);
|
||||
msleep(20);
|
||||
|
||||
gpiod_set_value(ctx->reset, 0);
|
||||
gpiod_set_value_cansleep(ctx->reset, 0);
|
||||
msleep(20);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(ili9881c_init); i++) {
|
||||
|
@ -367,7 +367,7 @@ static int ili9881c_unprepare(struct drm_panel *panel)
|
|||
|
||||
mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
|
||||
regulator_disable(ctx->power);
|
||||
gpiod_set_value(ctx->reset, 1);
|
||||
gpiod_set_value_cansleep(ctx->reset, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue