From nobody Mon Feb 9 01:35:29 2026 Received: from cstnet.cn (smtp84.cstnet.cn [159.226.251.84]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6FA44284665; Fri, 30 Jan 2026 04:21:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.84 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769746871; cv=none; b=BL2vT/paiZ4dMl/19tJFOizN63Aqp8KR0qhMiFsOI7ni6fvyiPv4MKNmsILLh3L6qeZvwvyy2d3g3ujozQYL//lrbCvzgF7GXlA7aB2HfV5ny+LH4b5ygUYn/L2MOIeMHq/Pfj9KwI2jLj/tia7fcB8X/NpCOJEi0hIjyNEAxKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769746871; c=relaxed/simple; bh=Hjdc14duHI/HL3LBRbxgjcGDNXrGvWLJJH75Fx/Kv/k=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=ufnRtMyEeVvJXJG7ks+Yy2Q3SEN7/B0XcjuWgyhAIe6xNL+6VY3n96eGyd+So1KjfwUxvKV/d1BLE2RjpUU8x2H6NxeT3YaQmwhPsPvazJmpfFWPXgTbpWruNgWTvCPxA/AVcRLP+FW0WbkWrUJAsWMtVTGBVmfv7EOa5lA2j08= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.84 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from localhost (unknown [124.16.138.129]) by APP-05 (Coremail) with SMTP id zQCowABX5wqrMXxpgjcIBw--.46896S2; Fri, 30 Jan 2026 12:20:59 +0800 (CST) From: Chen Ni To: sakari.ailus@linux.intel.com, benjamin.mugnier@foss.st.com, sylvain.petinot@foss.st.com, mchehab@kernel.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Chen Ni Subject: [PATCH] media: i2c: vgxy61: Check return value of devm_gpiod_get_optional() in vgxy61_probe() Date: Fri, 30 Jan 2026 12:20:43 +0800 Message-Id: <20260130042043.2988065-1-nichen@iscas.ac.cn> X-Mailer: git-send-email 2.25.1 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 X-CM-TRANSID: zQCowABX5wqrMXxpgjcIBw--.46896S2 X-Coremail-Antispam: 1UD129KBjvdXoWruw4DXrW3Xr4UJF15tFy5Jwb_yoWkJrcE9w 1furn3Xw1kGF1Fyw1jga1fZrWjkrWDCr1fXFZ5Ka13Kr17uFnxJFWvvr9Iyw1kXr42yF9x Ary3CF1fCw1xKjkaLaAFLSUrUUUU1b8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbakFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr0_ Cr1l84ACjcxK6I8E87Iv67AKxVWxJr0_GcWl84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s 0DM2kKe7AKxVWUXVWUAwAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAq x4xG6I80ewAv7VC0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6x CaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY 1x0262kKe7AKxVWUtVW8ZwCY02Avz4vE14v_Gryl42xK82IYc2Ij64vIr41l4I8I3I0E4I kC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWU WwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr 0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWU JVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJb IYCTnIWIevJa73UjIFyTuYvjfU0pBTUUUUU X-CM-SenderInfo: xqlfxv3q6l2u1dvotugofq/ Content-Type: text/plain; charset="utf-8" The devm_gpiod_get_optional() function may return an error pointer (ERR_PTR) in case of a genuine failure during GPIO acquisition, not just NULL which indicates the legitimate absence of an optional GPIO. Add an IS_ERR() check after the function call to catch such errors and propagate them to the probe function, ensuring the driver fails to load safely rather than proceeding with an invalid pointer. Signed-off-by: Chen Ni --- drivers/media/i2c/vgxy61.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/i2c/vgxy61.c b/drivers/media/i2c/vgxy61.c index d64d0099e6fe..3fb2166c81ef 100644 --- a/drivers/media/i2c/vgxy61.c +++ b/drivers/media/i2c/vgxy61.c @@ -1802,6 +1802,9 @@ static int vgxy61_probe(struct i2c_client *client) =20 sensor->reset_gpio =3D devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); + if (IS_ERR(sensor->reset_gpio)) + return dev_err_probe(dev, PTR_ERR(sensor->reset_gpio), + "failed to get reset gpio\n"); =20 ret =3D vgxy61_get_regulators(sensor); if (ret) { --=20 2.25.1