Re: [PATCH 2/4] drm: ti-sn65dsi86: Check bridge connection failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20/06/2024 13:42, Laurent Pinchart wrote:
On Thu, Jun 20, 2024 at 09:43:05AM +0300, Tomi Valkeinen wrote:
On 19/06/2024 22:32, Laurent Pinchart wrote:
Hi Jacopo,

Thank you for the patch.

On Wed, Jun 19, 2024 at 12:22:16PM +0200, Jacopo Mondi wrote:
From: Phong Hoang <phong.hoang.wz@xxxxxxxxxxx>

Add a check to the register access function when attaching a bridge
device.

I think the desc is missing the "why". I'm guessing it's the first
register access to the IC, and thus verifies that it is accessible.

Isn't it a good idea in general to always check if I2C reads succeeded ?

It is. But if there are tens of other i2c accesses for which the return value is ignored, the question remains: why this single one was specifically fixed?

 Tomi



Signed-off-by: Phong Hoang <phong.hoang.wz@xxxxxxxxxxx>
Signed-off-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>

---
   drivers/gpu/drm/bridge/ti-sn65dsi86.c | 6 +++++-
   1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 84698a0b27a8..b7df53577987 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -696,6 +696,7 @@ static struct ti_sn65dsi86 *bridge_to_ti_sn65dsi86(struct drm_bridge *bridge)
static int ti_sn_attach_host(struct auxiliary_device *adev, struct ti_sn65dsi86 *pdata)
   {
+	int ret;
   	int val;
   	struct mipi_dsi_host *host;
   	struct mipi_dsi_device *dsi;
@@ -720,8 +721,11 @@ static int ti_sn_attach_host(struct auxiliary_device *adev, struct ti_sn65dsi86
/* check if continuous dsi clock is required or not */
   	pm_runtime_get_sync(dev);
-	regmap_read(pdata->regmap, SN_DPPLL_SRC_REG, &val);
+	ret = regmap_read(pdata->regmap, SN_DPPLL_SRC_REG, &val);
   	pm_runtime_put_autosuspend(dev);
+	if (ret)
+		return ret;
+
   	if (!(val & DPPLL_CLK_SRC_DSICLK))
   		dsi->mode_flags |= MIPI_DSI_CLOCK_NON_CONTINUOUS;






[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux