wifi: iwlwifi: tests: make subdev match test more precise

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
This commit is contained in:
Johannes Berg 2025-05-10 21:48:21 +03:00 committed by Miri Korenblit
parent daf14c9da1
commit 3de6694beb

View 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);