]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
misc: amd-sbi: Add check to probe only SBRMI devices
authorAkshay Gupta <Akshay.Gupta@amd.com>
Wed, 18 Mar 2026 11:27:10 +0000 (16:57 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Apr 2026 14:17:29 +0000 (16:17 +0200)
AMD OOB devices are differentiated by their Instance ID, with SBRMI
assigned Instance ID 1. Since the device ID match does not consider
the Instance ID, add an explicit check to restrict probing to only
the SBRMI device and exclude other OOB devices.

Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
Signed-off-by: Akshay Gupta <Akshay.Gupta@amd.com>
Link: https://patch.msgid.link/20260318112711.2757467-2-Akshay.Gupta@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/amd-sbi/rmi-i2c.c

index f0cc99000b695cd0f01a6e859f521f09efa340de..04182358bebb1c4cb1238f358906d04660bd7336 100644 (file)
@@ -170,6 +170,16 @@ static int sbrmi_i3c_probe(struct i3c_device *i3cdev)
        struct regmap *regmap;
        int rev, ret;
 
+       /*
+        * AMD OOB devices are distinguished by their Instance ID.
+        * For SBRMI, the Instance ID is 1. Since the device ID match
+        * does not account for the Instance ID, the following check
+        * ensures that only the SBRMI device is probed, excluding
+        * other OOB devices.
+        */
+       if (I3C_PID_INSTANCE_ID(i3cdev->desc->info.pid) != 1)
+               return -ENXIO;
+
        regmap = devm_regmap_init_i3c(i3cdev, &sbrmi_regmap_config);
        if (IS_ERR(regmap))
                return PTR_ERR(regmap);