From nobody Fri Jul 24 21:52:34 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52C4C3BCD23 for ; Fri, 24 Jul 2026 08:39:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784882356; cv=none; b=eprK0QndNFqiJPqlRydiaCOAcHuxA+W/yHjRankiwW7UBlxtL87WkuucOtlUMFQ0Y7h6I8a5ImK2bOcxOEUmFf+yrh0lSIY97rb/gWxrMvl6RUs83v4XCIQJE14NP2pXJqKjAkyqdcoQmempTaJqyxlgTdd6GaNSSka8w5x86Fw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784882356; c=relaxed/simple; bh=qKyXG3mixqm7Nl5f9tqJfObbZyDI5RFzYxjKCymf2pY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WN7yP79ZSrJqVj+lU2G5D5jFiubPsck9mfMPpQ9zhSR60N8zfa/G1zSPr+zIFxJuyXLCZ+PEFPsRK6WQ9e5yuBbnB1sPF5sC9HKdewMAqUfnZ1DSpPBhTvhvy5ltZHt8hR0/MP8HPoS2K2SggjUdz4VwgcZ36bKRwJ3ygdSsXGw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PLdCwVJR; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PLdCwVJR" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2cad8076b01so1968715ad.2 for ; Fri, 24 Jul 2026 01:39:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784882355; x=1785487155; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=hADhJaSCU56XXPUH/PMfzbMY5xT4wb+ZMha4vQ5WCxk=; b=PLdCwVJRep2QHArhq0xgoQ4PoF9Ae3wUvyD1ps7u070jMtDwThHmC0Z8/Fpwmuoc1C gI0kKcsS+0LSW/QrpR7xEB29pHJtCC3CU04Gd34q/VRuKVnVwkEiZr8EhcRr65Peupuk f9/ZNOp+EQyW5KWNdUFcqvowq1uqMZxKdehrERT82/oVb0YOsHts1yx+Mt2hKQCC9nPk 59n+re1QAl7+dGscnWBJkveq5FCnXzFfx1bgdsVwJmI8aqVQRycZdHHvQzXmVZriGx0c SmgBViSfyBSOeuIiglWdOAmNACOXAqeEK5ngOAfCUl9flC7rhpIg7ltvtN4wLXKVt3qo oeTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784882355; x=1785487155; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hADhJaSCU56XXPUH/PMfzbMY5xT4wb+ZMha4vQ5WCxk=; b=YVJfdOzGTH/fvKcVkWAqafpd5YiFvVAYPSrL78W8H5s6wu3ZDsgxQqDCzs02uXC/Ab vVknUhNr5C/CS+WKx7ZCAF/xc5nCHxa/jHGFnLmF/qor6gMw5U/rj2EmxIcB0Udgkvtc ur1yFqzIxn+t4537tlDkg0xvcYhXuicfhCAwREus1cwdZz03LrvXxt5Bz2ak8LrhCknH JIsp76L/vQ85JBD8f6JUkz4LCoG87XK7H6mDMTx2Uh68RXNzkz9woU8lfyBsB+/9zLUs 4grM0Wy0IqeoAguwtJ94qj4kMsAfnJBCIlva+3jSwE2GBvdybU+za0iRqZWd+KyvaTTb pbiA== X-Forwarded-Encrypted: i=1; AHgh+RrWWON/frNn3TDAW4Qh8h9AmyNXOdSqDOfyD7NPKyqpgegLH7W1mnzgPXzeqjiP6VGkzxRxQdwLyxzQCts=@vger.kernel.org X-Gm-Message-State: AOJu0Yxb5TtMEJRU3qE0UyKHk7ffH7mQ2y9LFwqUM4zhYIf6BJXs4a3+ r0yMXkiHqLxW5a8vkvdTevhyyyv5T0PQdqGiOVY1PLfa8ocF0znCpD2zp33Grws= X-Gm-Gg: AR+sD11rMbE3nI3mohDfSR1MaNV6uv5QCK8aRFL0g7h55vwEIPmZdmrTm/Qsu3nuc0E oyYSjhfIA3ayAaUH3kfjafGBCZLIMN71bNS+hOGoM0OIkkBQX7FZyAy6VZq0X5S5seBXw0XFUlN fetwkODDVSRRVX+RuvVzk+9X1DxaT2kuGaZSMrEIwyndFP7KzowihmRMF/4xQmzcG1WP/BXFtKS zXQkF3hY/btt9i4VMql87hpChd6AlW9A+ooELrnOw203UqDTiwvrJoxux4OWpY/x+RDIN22Mmmf HBujdFgycMtau3dV4Ivs5UIwCbIyECid/2IL33Yw3dIanhO3d46AVNGK8y6P8LMUGGht/Vshd2k BF7cCuTrNqQkRBjqxom9oVf55//Pk9w5SJoUlYmJ5wExM8uwQqjMUFOecMCcDWNhiI1QrWXvBI8 LwJrUxvKM6+7Sni5wd9YgXAwE/Y8I= X-Received: by 2002:a05:6a20:db95:b0:3bd:3591:2457 with SMTP id adf61e73a8af0-3c44af99f68mr7417261637.4.1784882354530; Fri, 24 Jul 2026 01:39:14 -0700 (PDT) Received: from t-rex ([2401:4900:7b31:234e:4988:bf77:ef99:7f27]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3147e1b6a45sm28130956eec.28.2026.07.24.01.39.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 01:39:13 -0700 (PDT) From: kr494167@gmail.com To: hpa@redhat.com, mchehab@kernel.org Cc: johannes.goede@oss.qualcomm.com, sakari.ailus@linux.intel.com, hverkuil+cisco@kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Surendra Singh Chouhan Subject: [PATCH] media: i2c: t4ka3: power down sensor on resume failure and use devm_mutex_init Date: Fri, 24 Jul 2026 14:09:01 +0530 Message-ID: <20260724083901.50942-1-kr494167@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Surendra Singh Chouhan t4ka3_probe() calls t4ka3_pm_resume() to power on the sensor during initialization. If t4ka3_pm_resume() failed (e.g. due to GPIO configuration or hardware errors), t4ka3_probe() returned directly without calling t4ka3_pm_suspend(), leaving powerdown/reset GPIOs in a partially initialized powered-on state. Fix this by invoking t4ka3_pm_suspend() if t4ka3_pm_resume() fails during probe. In addition, replace mutex_init() with devm_mutex_init() for managed resource lifecycle handling. Fixes: fd5531969215 ("media: Add t4ka3 camera sensor driver") Signed-off-by: Surendra Singh Chouhan --- drivers/media/i2c/t4ka3.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/t4ka3.c b/drivers/media/i2c/t4ka3.c index a5a68e3fbec2..0c38bb8dc718 100644 --- a/drivers/media/i2c/t4ka3.c +++ b/drivers/media/i2c/t4ka3.c @@ -968,7 +968,9 @@ static int t4ka3_probe(struct i2c_client *client) if (ret) return ret; =20 - mutex_init(&sensor->lock); + ret =3D devm_mutex_init(&client->dev, &sensor->lock); + if (ret) + return ret; =20 v4l2_i2c_subdev_init(&sensor->sd, client, &t4ka3_ops); sensor->sd.internal_ops =3D &t4ka3_internal_ops; @@ -991,8 +993,10 @@ static int t4ka3_probe(struct i2c_client *client) return PTR_ERR(sensor->regmap); =20 ret =3D t4ka3_pm_resume(sensor->dev); - if (ret) + if (ret) { + t4ka3_pm_suspend(sensor->dev); return ret; + } =20 pm_runtime_set_active(&client->dev); pm_runtime_enable(&client->dev); --=20 2.55.0