From: sashiko-bot@kernel.org
To: "Alexey Minnekhanov" <alexeymin@minlexx.ru>
Cc: conor+dt@kernel.org, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH v3 7/9] drm/panel: novatek-nt36672a: Add Tianma panel for Xiaomi Mi A2
Date: Sun, 11 Oct 2026 12:04:35 +0000 [thread overview]
Message-ID: <sashiko-outbox-167211@kernel.org> (raw)
In-Reply-To: <20261011-nt36672a-panels-v3-7-9ea238627f8a@minlexx.ru>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] drm/panel: nt36672a: regulator leak in nt36672a_panel_prepare() error path
--
commit 55c52ad322748f420246cd3fb678326e61c47140
Author: Alexey Minnekhanov <alexeymin@minlexx.ru>
drm/panel: novatek-nt36672a: Add Tianma panel for Xiaomi Mi A2
Add support for Tianma TL060FVXS16-00 video mode panel based on
Novatek NT36672A, used in Xiaomi Mi A2 smartphone (xiaomi-jasmine).
It shares some code with already supported panel in this driver
for xiaomi-lavender, so we can reuse the same panel deinit function.
> diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
> index d356348d39608..48dff2279b0e9 100644
> --- a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
> +++ b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c
[ ... ]
> @@ -552,6 +575,39 @@ static const struct nt36672a_panel_desc tianmaplus_e7t_tulip_panel_desc = {
> .send_deinit_cmds = lavender_tulip_deinit_cmds,
> };
>
> +static const struct drm_display_mode tianma_jasmine_panel_default_mode = {
[ ... ]
> +static const struct nt36672a_panel_desc tianma_jasmine_panel_desc = {
> + .display_mode = &tianma_jasmine_panel_default_mode,
> +
> + .width_mm = 68,
> + .height_mm = 136,
> +
> + .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> + MIPI_DSI_CLOCK_NON_CONTINUOUS,
> + .format = MIPI_DSI_FMT_RGB888,
> + .lanes = 4,
> + .send_init_cmds = tianma_jasmine_init_cmds,
[Severity: Medium]
If sending the initialization commands fails in nt36672a_panel_prepare(), does
this code leak the regulator resources?
Looking at nt36672a_panel_prepare(), it calls nt36672a_panel_power_on() which
enables the regulators, and then calls send_init_cmds():
drivers/gpu/drm/panel/panel-novatek-nt36672a.c:nt36672a_panel_prepare() {
...
dsi_ctx.accum_err = nt36672a_panel_power_on(pinfo);
/* send init cmds */
if (pinfo->desc->send_init_cmds)
pinfo->desc->send_init_cmds(&dsi_ctx);
if (dsi_ctx.accum_err < 0)
gpiod_set_value(pinfo->reset_gpio, 0);
return dsi_ctx.accum_err;
}
If send_init_cmds() fails, the error path returns early without calling
nt36672a_panel_power_off() or regulator_bulk_disable().
Furthermore, because drm_panel_prepare() sees a failure, it does not set
panel->prepared = true. Consequently, any future call to drm_panel_unprepare()
will return early and skip calling the panel's .unprepare function, leaving
the regulators (vddio, vddpos, vddneg) permanently enabled.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261011-nt36672a-panels-v3-0-9ea238627f8a@minlexx.ru?part=7
next prev parent reply other threads:[~2026-10-11 12:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-11 11:54 [PATCH v3 0/9] drm/panel: novatek-nt36672a: Extend with 5 new panels Alexey Minnekhanov
2026-10-11 11:54 ` [PATCH v3 1/9] dt-bindings: vendor-prefixes: Add Shenzhen TXD Technology Co., Ltd Alexey Minnekhanov
2026-10-11 11:54 ` [PATCH v3 2/9] dt-bindings: vendor-prefixes: Add Shen Chao Optoelectronics Alexey Minnekhanov
2026-10-11 11:54 ` [PATCH v3 3/9] dt-bindings: display: novatek,nt36672a: Add 5 new panels Alexey Minnekhanov
2026-10-11 11:54 ` [PATCH v3 4/9] drm/panel: novatek-nt36672a: Set driver name to novatek for consistency Alexey Minnekhanov
2026-10-11 11:54 ` [PATCH v3 5/9] drm/panel: novatek-nt36672a: Combine two init callbacks into one Alexey Minnekhanov
2026-10-11 11:54 ` [PATCH v3 6/9] drm/panel: novatek-nt36672a: Add 3 panels used in Xiaomi phones Alexey Minnekhanov
2026-10-11 12:05 ` sashiko-bot
2026-10-11 11:54 ` [PATCH v3 7/9] drm/panel: novatek-nt36672a: Add Tianma panel for Xiaomi Mi A2 Alexey Minnekhanov
2026-10-11 12:04 ` sashiko-bot [this message]
2026-10-11 11:54 ` [PATCH v3 8/9] drm/panel: novatek-nt36672a: Add panel for Asus Zenfone Max Pro M1 Alexey Minnekhanov
2026-10-11 12:03 ` sashiko-bot
2026-10-11 11:54 ` [PATCH v3 9/9] MAINTAINERS: Add Alexey Minnekhanov as maintainer for NT36672A panel Alexey Minnekhanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-167211@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=alexeymin@minlexx.ru \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox