> Actions like that have caused great problems in the past, as the
> kernel won't allow channel control of a monitor interface at all when
> there is a managed interface on the same phy (afaik).
>
> But just for fun and codepath testing here are two test scenarios:
>
> Test 1: "iwconfig t2u mode monitor"
> Sees nothing on any channel, no packets reported
>
> Test 2(requested test): "iw phy phy11 interface add t2uhmon type monitor"
> Sees nothing on any channel, no packets reported.
> Despite having a monitor and managed interface on the same phy,
> iwconfig is reporting that the channel is changing as requested. So
> perhaps my above "afaik" comment is partially outdated.
>
> For both tests the interface was not used to connect to any ap prior
> to or during testing.
>
Could you please try following patch?
Regards,
Lorenzo
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/phy.c
@@ -756,11 +756,10 @@ __mt76x0_phy_set_channel(struct mt76x0_dev *dev,
/* Vendor driver don't do it */
/* mt76x0_phy_set_tx_power(dev, channel, rf_bw_band); */
+ mt76x0_vco_cal(dev, channel);
if (scan)
- mt76x0_vco_cal(dev, channel);
-
- mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 1);
+ mt76x0_mcu_calibrate(dev, MCU_CAL_RXDCOC, 1);
mt76x0_phy_set_chan_pwr(dev, channel);
dev->mt76.chandef = *chandef;