diff options
Diffstat (limited to 'sys/contrib/dev/mediatek/mt76/mt76x2/usb_init.c')
| -rw-r--r-- | sys/contrib/dev/mediatek/mt76/mt76x2/usb_init.c | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/sys/contrib/dev/mediatek/mt76/mt76x2/usb_init.c b/sys/contrib/dev/mediatek/mt76/mt76x2/usb_init.c index 33a14365ec9b..3b5562811511 100644 --- a/sys/contrib/dev/mediatek/mt76/mt76x2/usb_init.c +++ b/sys/contrib/dev/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;  	int err;  	INIT_DELAYED_WORK(&dev->cal_work, mt76x2u_phy_calibrate); @@ -217,7 +218,17 @@ 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) { +	case 0x76320044: +		/* these ASIC revisions do not support VHT */ +		vht = false; +		break; +	default: +		vht = true; +		break; +	} + +	err = mt76_register_device(&dev->mt76, vht, mt76x02_rates,  				   ARRAY_SIZE(mt76x02_rates));  	if (err)  		goto fail; | 
