From: Johannes Berg <johannes.berg@xxxxxxxxx> 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@xxxxxxxxx> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@xxxxxxxxx> --- drivers/net/wireless/intel/iwlwifi/tests/devinfo.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/tests/devinfo.c b/drivers/net/wireless/intel/iwlwifi/tests/devinfo.c index 115642c75d10..bd0102ef7384 100644 --- a/drivers/net/wireless/intel/iwlwifi/tests/devinfo.c +++ b/drivers/net/wireless/intel/iwlwifi/tests/devinfo.c @@ -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); -- 2.34.1