summaryrefslogtreecommitdiff
path: root/drivers/i3c
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2026-01-06 18:44:07 +0200
committerSasha Levin <sashal@kernel.org>2026-03-04 07:19:33 -0500
commit33f51b058c139f7e34869bcc6f4aafa975907cfd (patch)
treefe958e85f306a8aba043e49879b1263bf83e8629 /drivers/i3c
parent55e43e6c7bc8b3cad07f75fe947e2e321eb4fb3d (diff)
downloadlinux-33f51b058c139f7e34869bcc6f4aafa975907cfd.tar.gz
linux-33f51b058c139f7e34869bcc6f4aafa975907cfd.tar.bz2
linux-33f51b058c139f7e34869bcc6f4aafa975907cfd.zip
i3c: mipi-i3c-hci: Stop reading Extended Capabilities if capability ID is 0
[ Upstream commit 0818e4aa8fdeeed5973e0a8faeddc9da599fc897 ] Extended Capability ID value 0 is special. It signifies the end of the list. Stop reading Extended Capabilities if capability ID is 0. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260106164416.67074-3-adrian.hunter@intel.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/i3c')
-rw-r--r--drivers/i3c/master/mipi-i3c-hci/ext_caps.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i3c/master/mipi-i3c-hci/ext_caps.c b/drivers/i3c/master/mipi-i3c-hci/ext_caps.c
index 7714f00ea9cc..533a495e14c8 100644
--- a/drivers/i3c/master/mipi-i3c-hci/ext_caps.c
+++ b/drivers/i3c/master/mipi-i3c-hci/ext_caps.c
@@ -272,7 +272,7 @@ int i3c_hci_parse_ext_caps(struct i3c_hci *hci)
cap_length = FIELD_GET(CAP_HEADER_LENGTH, cap_header);
dev_dbg(&hci->master.dev, "id=0x%02x length=%d",
cap_id, cap_length);
- if (!cap_length)
+ if (!cap_id || !cap_length)
break;
if (curr_cap + cap_length * 4 >= end) {
dev_err(&hci->master.dev,