wifi: iwlwifi: tests: make subdev match test more precise
authorJohannes Berg <johannes.berg@intel.com>
Sat, 10 May 2025 18:48:21 +0000 (21:48 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Mon, 12 May 2025 14:15:35 +0000 (17:15 +0300)
It's OK to match with subdevice_mask as long as that doesn't
overlap the RF ID/BW limit/cores fields in that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20250510214621.87cc0ad360a8.I9be361caedd7258e8e817d4100c549681396f307@changeid
drivers/net/wireless/intel/iwlwifi/tests/devinfo.c

index 115642c75d100b5e6bf8331125c341e2e04d9028..bd0102ef738485a0f3efa431359e6662204d8b38 100644 (file)
@@ -104,9 +104,17 @@ static void devinfo_check_subdev_match(struct kunit *test)
                if (di->bw_limit == 1)
                        KUNIT_EXPECT_NE(test, di->cfg->bw_limit, 0);
 
+               /* if subdevice is ANY we can have RF ID/BW limit/cores */
                if (di->subdevice == (u16)IWL_CFG_ANY)
                        continue;
 
+               /* same if the subdevice mask doesn't overlap them */
+               if (IWL_SUBDEVICE_RF_ID(di->subdevice_mask) == 0 &&
+                   IWL_SUBDEVICE_BW_LIM(di->subdevice_mask) == 0 &&
+                   IWL_SUBDEVICE_CORES(di->subdevice_mask) == 0)
+                       continue;
+
+               /* but otherwise they shouldn't be used */
                KUNIT_EXPECT_EQ(test, di->rf_id, (u8)IWL_CFG_ANY);
                KUNIT_EXPECT_EQ(test, di->bw_limit, (u8)IWL_CFG_ANY);
                KUNIT_EXPECT_EQ(test, di->cores, (u8)IWL_CFG_ANY);