]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm: bridge: anx7625: don't crash if Type-C port is not used
authorLoic Poulain <loic.poulain@oss.qualcomm.com>
Sun, 15 Feb 2026 01:30:02 +0000 (03:30 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Wed, 11 Mar 2026 02:18:48 +0000 (04:18 +0200)
The typec_set_*() functions do not tolerate being passed the NULL
typec_port instance. However, if CONFIG_TYPEC is enabled, but anx7625
DT node doesn't have the usb-c connector fwnode, then typec_port remains
NULL, crashing the kernel. Prevent calling typec_set_foo() functions by
checking that ctx->typec_port is not NULL in anx7625_typec_set_status().

 Call trace:
  typec_set_orientation+0x18/0x68 (P)
  anx7625_typec_set_status+0x108/0x13c
  anx7625_work_func+0x124/0x438
  process_one_work+0x214/0x648
  worker_thread+0x1b4/0x358
  kthread+0x14c/0x214
  ret_from_fork+0x10/0x20
 Code: 910003fd a90153f3 aa0003f3 2a0103f4 (f9431400)

Fixes: f81455b2d332 ("drm: bridge: anx7625: implement minimal Type-C support")
Reported-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
[db: dropped chunk anx7625_typec_unregister(), wrote commit message]
Cc: Amit Kucheria <akucheri@qti.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260215-anx-fix-no-typec-v1-1-75172a5ca88b@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/bridge/analogix/anx7625.c

index ec4b24481987440c1cdfb9e4418808910cc14658..ad7fbac9f6a4f72c6da59be6d50392f2132e01bc 100644 (file)
@@ -1566,6 +1566,9 @@ static void anx7625_typec_set_status(struct anx7625_data *ctx,
                                     unsigned int intr_status,
                                     unsigned int intr_vector)
 {
+       if (!ctx->typec_port)
+               return;
+
        if (intr_vector & CC_STATUS)
                anx7625_typec_set_orientation(ctx);
        if (intr_vector & DATA_ROLE_STATUS) {