All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Dave Stevenson" <dave.stevenson@raspberrypi.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v2 09/20] media: imx355: pixel_rate never changes, so don't recompute
Date: Tue, 07 Jul 2026 17:15:20 +0000	[thread overview]
Message-ID: <20260707171521.8027F1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260707-media-imx355-v2-9-1683ec07b897@raspberrypi.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] In the probe error path, `imx355_power_off()` can be called twice if `v4l2_async_register_subdev_sensor()` fails, leading to unbalanced clock and regulator disables.
--

--- Patch [9]: [PATCH v2 09/20] media: imx355: pixel_rate never changes, so don't recompute ---
commit b383e35f1be32e2228da9d8a41ed9f15cb5ff8e5
Author: Dave Stevenson <dave.stevenson@raspberrypi.com>

media: imx355: pixel_rate never changes, so don't recompute

The pixel rate is always the same, so there is no need to try and
recompute it in imx355_set_pad_format, and then no need to have the
pointer to it stored.

> diff --git a/drivers/media/i2c/imx355.c b/drivers/media/i2c/imx355.c
> index 20cf6afee43ee..9d977bac23b6c 100644
> --- a/drivers/media/i2c/imx355.c
> +++ b/drivers/media/i2c/imx355.c

[ ... ]

This is a pre-existing issue, but I noticed a potential double power-off
in the probe error handling path while reviewing this file.

drivers/media/i2c/imx355.c:imx355_probe() {
        ...
        pm_runtime_set_active(imx355->dev);
        pm_runtime_enable(imx355->dev);
        pm_runtime_idle(imx355->dev);
        pm_runtime_set_autosuspend_delay(imx355->dev, 1000);
        pm_runtime_use_autosuspend(imx355->dev);

        ret = v4l2_async_register_subdev_sensor(&imx355->sd);
        if (ret < 0)
                goto error_media_entity_runtime_pm;

        return 0;

error_media_entity_runtime_pm:
        pm_runtime_disable(imx355->dev);
        pm_runtime_set_suspended(imx355->dev);
        v4l2_subdev_cleanup(&imx355->sd);
        media_entity_cleanup(&imx355->sd.entity);

error_handler_free:
        v4l2_ctrl_handler_free(imx355->sd.ctrl_handler);

error_power_off:
        imx355_power_off(imx355->dev);

        return ret;
}

[Severity: High]
If v4l2_async_register_subdev_sensor() fails after the device was already
suspended by pm_runtime_idle(), won't the code fall through to
error_power_off and call imx355_power_off() a second time?

Calling regulator_bulk_disable() and clk_disable_unprepare() on already
disabled resources might cause unbalanced disable warnings and refcount
underflows. If these resources are shared with other active devices, could
this unexpected force-disable break functionality for those other devices?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260707-media-imx355-v2-0-1683ec07b897@raspberrypi.com?part=9

  reply	other threads:[~2026-07-07 17:15 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-07 17:04 [PATCH v2 00/20] media/imx355: General code cleanups, and adding support for 2 lane operation Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 01/20] media: i2c: imx355: Add support for 24 MHz external clock Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 02/20] dt-bindings: media: imx355: Allow 2 CSI2 data lane output Dave Stevenson
2026-07-08  7:07   ` Krzysztof Kozlowski
2026-07-07 17:04 ` [PATCH v2 03/20] media: imx355: Remove duplicated registers from the mode tables Dave Stevenson
2026-07-07 17:14   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 04/20] media: imx355: Remove setting FRM_LENGTH_LINES in the mode regs Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 05/20] media: imx355: Programmatically set the crop parameters for each mode Dave Stevenson
2026-07-07 17:18   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 06/20] media: imx355: Set register LINE_LENGTH_PCK programmatically Dave Stevenson
2026-07-07 17:12   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 07/20] media: imx355: Set binning mode registers programmatically Dave Stevenson
2026-07-07 17:15   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 08/20] media: imx355: Remove link_freq_index from each mode as ununsed Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 09/20] media: imx355: pixel_rate never changes, so don't recompute Dave Stevenson
2026-07-07 17:15   ` sashiko-bot [this message]
2026-07-07 17:04 ` [PATCH v2 10/20] media: imx355: Remove redundant fll_min, and implement fixed offset Dave Stevenson
2026-07-07 17:18   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 11/20] media: imx355: Add support for get_selection Dave Stevenson
2026-07-07 17:18   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 12/20] media: imx355: Use pm_runtime autosuspend_delay Dave Stevenson
2026-07-07 17:21   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 13/20] media: imx355: Convert to new CCI register access helpers Dave Stevenson
2026-07-07 17:21   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 14/20] media: imx355: Set the colorspace in the format Dave Stevenson
2026-07-07 17:16   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 15/20] media: imx355: Define the exposure offset, and use that define Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 16/20] media: imx355: Use NULL ctrl_ops for HBLANK as it is a read-only control Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 17/20] media: imx355: Compute link frequency from PLL setup Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 18/20] media: imx355: Support 2 lane readout Dave Stevenson
2026-07-07 17:04 ` [PATCH v2 19/20] media: imx355: Switch to using the subdev state Dave Stevenson
2026-07-07 19:34   ` sashiko-bot
2026-07-07 17:04 ` [PATCH v2 20/20] media: imx355: Remove storing cur_mode in the state Dave Stevenson
2026-07-07 17:37   ` sashiko-bot

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=20260707171521.8027F1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=devicetree@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.