mirror of
https://git.FreeBSD.org/src.git
synced 2026-06-02 11:24:32 +00:00
mt76: update Mediatek's mt76 driver
This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 028ef9c96e96197026887c0f092424679298aae8 ( tag: v7.0 ). Sponsored by: The FreeBSD Foundation
This commit is contained in:
@@ -248,7 +248,7 @@ int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno,
|
||||
|
||||
mt76_rx_aggr_stop(dev, wcid, tidno);
|
||||
|
||||
tid = kzalloc(struct_size(tid, reorder_buf, size), GFP_KERNEL);
|
||||
tid = kzalloc_flex(*tid, reorder_buf, size);
|
||||
if (!tid)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
+1
-1
@@ -1055,7 +1055,7 @@ mt7615_mac_queue_rate_update(struct mt7615_phy *phy, struct mt7615_sta *sta,
|
||||
if (work_pending(&dev->rate_work))
|
||||
return -EBUSY;
|
||||
|
||||
wrd = kzalloc(sizeof(*wrd), GFP_ATOMIC);
|
||||
wrd = kzalloc_obj(*wrd, GFP_ATOMIC);
|
||||
if (!wrd)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#define __MT7615_H
|
||||
|
||||
#include <linux/completion.h>
|
||||
#include <linux/hex.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/ktime.h>
|
||||
#include <linux/regmap.h>
|
||||
|
||||
@@ -413,6 +413,7 @@ mt76_connac2_mac_write_txwi_80211(struct mt76_dev *dev, __le32 *txwi,
|
||||
u32 val;
|
||||
|
||||
if (ieee80211_is_action(fc) &&
|
||||
skb->len >= IEEE80211_MIN_ACTION_SIZE + 1 + 1 + 2 &&
|
||||
mgmt->u.action.category == WLAN_CATEGORY_BACK &&
|
||||
mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) {
|
||||
u16 capab = le16_to_cpu(mgmt->u.action.u.addba_req.capab);
|
||||
|
||||
@@ -668,6 +668,7 @@ mt7925_mac_write_txwi_80211(struct mt76_dev *dev, __le32 *txwi,
|
||||
u32 val;
|
||||
|
||||
if (ieee80211_is_action(fc) &&
|
||||
skb->len >= IEEE80211_MIN_ACTION_SIZE + 1 &&
|
||||
mgmt->u.action.category == WLAN_CATEGORY_BACK &&
|
||||
mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ)
|
||||
tid = MT_TX_ADDBA;
|
||||
|
||||
@@ -800,6 +800,7 @@ mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
|
||||
u32 val;
|
||||
|
||||
if (ieee80211_is_action(fc) &&
|
||||
skb->len >= IEEE80211_MIN_ACTION_SIZE + 1 &&
|
||||
mgmt->u.action.category == WLAN_CATEGORY_BACK &&
|
||||
mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) {
|
||||
if (is_mt7990(&dev->mt76))
|
||||
|
||||
+1
-1
@@ -966,7 +966,7 @@ mt7996_mac_sta_init_link(struct mt7996_dev *dev,
|
||||
mtxq->wcid = idx;
|
||||
}
|
||||
} else {
|
||||
msta_link = kzalloc(sizeof(*msta_link), GFP_KERNEL);
|
||||
msta_link = kzalloc_obj(*msta_link);
|
||||
if (!msta_link)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
+1
-1
@@ -726,7 +726,7 @@ mt7996_mcu_wed_rro_event(struct mt7996_dev *dev, struct sk_buff *skb)
|
||||
struct mt7996_wed_rro_session_id *session;
|
||||
|
||||
e = (void *)skb->data;
|
||||
session = kzalloc(sizeof(*session), GFP_ATOMIC);
|
||||
session = kzalloc_obj(*session, GFP_ATOMIC);
|
||||
if (!session)
|
||||
break;
|
||||
|
||||
|
||||
@@ -63,10 +63,8 @@ mt76_scan_send_probe(struct mt76_dev *dev, struct cfg80211_ssid *ssid)
|
||||
|
||||
rcu_read_lock();
|
||||
|
||||
if (!ieee80211_tx_prepare_skb(phy->hw, vif, skb, band, NULL)) {
|
||||
ieee80211_free_txskb(phy->hw, skb);
|
||||
if (!ieee80211_tx_prepare_skb(phy->hw, vif, skb, band, NULL))
|
||||
goto out;
|
||||
}
|
||||
|
||||
info = IEEE80211_SKB_CB(skb);
|
||||
if (req->no_cck)
|
||||
|
||||
Reference in New Issue
Block a user