Search Linux Wireless

Re: [PATCH 2/2] mt76: mt76x2: Disable VHT on 0x76320044 ASIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lorenzo,

Thank you for the review.

I will rename 'vht_flag' to 'vht', squash the patch and apply your suggested corrections.

Also I did search of the "ASIC revision: 76320044" and as far as I can tell turned out to be related to the Xbox wireless dongle. It had similar issues as I experienced with the LiteOn module when VHT was enabled. So I think it is fair to assume this will fix more than it breaks.

But I can't be sure of course, I don't work at Mediatek and this information is not publicly available to my knowledge. The Mediatek girls and guys on this list should be able to step in and provide an overview of the different ASIC revisions and their capabilities probably ;)

Kind regards,
Henk

On 4/18/25 14:38, Lorenzo Bianconi wrote:
From: Henk Vergonet <Henk.Vergonet@xxxxxxxxx>

VHT is not supported on ASIC revision 0x76320044

This fixes the 5G connectibity issue on LiteOn WN4519R module
see https://github.com/openwrt/mt76/issues/971

And may also fix the 5G issues on the XBox One Wireless Adapter
see https://github.com/openwrt/mt76/issues/200
---
  drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c | 11 ++++++++++-
  1 file changed, 10 insertions(+), 1 deletion(-)
I think this patch must be squashed with the previous one. Moreover, can you
please run checkpatch.pl? There are some coding style problems here.

diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c
index 33a14365ec9b..fbb337ef6b68 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c
@@ -191,6 +191,7 @@ int mt76x2u_register_device(struct mt76x02_dev *dev)
  {
  	struct ieee80211_hw *hw = mt76_hw(dev);
  	struct mt76_usb *usb = &dev->mt76.usb;
+	bool vht_flag;
maybe something more meaningful, like 'is_vht' or even just 'vht'.

  	int err;
INIT_DELAYED_WORK(&dev->cal_work, mt76x2u_phy_calibrate);
@@ -217,7 +218,15 @@ int mt76x2u_register_device(struct mt76x02_dev *dev)
/* check hw sg support in order to enable AMSDU */
  	hw->max_tx_fragments = dev->mt76.usb.sg_en ? MT_TX_SG_MAX_SIZE : 1;
-	err = mt76_register_device(&dev->mt76, true, mt76x02_rates,
+	switch(dev->mt76.rev ) {
remove space before ')'

+		/* these ASIC revisions do not support VHT */
+		case 0x76320044:
are you sure this is true for all '0x76320044' ASICs?

+			vht_flag = false;
+			break;
+		default:
+			vht_flag = true;
missing break

+	}
+	err = mt76_register_device(&dev->mt76, vht_flag, mt76x02_rates,
  				   ARRAY_SIZE(mt76x02_rates));
  	if (err)
  		goto fail;
--
2.45.2





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux