diff options
Diffstat (limited to 'package/kernel')
-rw-r--r-- | package/kernel/mac80211/patches/mwl/941-mwl8k-Fix-rate_idx-underflow.patch | 11 | ||||
-rw-r--r-- | package/kernel/mac80211/patches/subsys/357-mac80211-optimize-skb-resizing.patch | 24 |
2 files changed, 16 insertions, 19 deletions
diff --git a/package/kernel/mac80211/patches/mwl/941-mwl8k-Fix-rate_idx-underflow.patch b/package/kernel/mac80211/patches/mwl/941-mwl8k-Fix-rate_idx-underflow.patch index 4f4812be80..d034dcf51f 100644 --- a/package/kernel/mac80211/patches/mwl/941-mwl8k-Fix-rate_idx-underflow.patch +++ b/package/kernel/mac80211/patches/mwl/941-mwl8k-Fix-rate_idx-underflow.patch @@ -37,11 +37,9 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz> drivers/net/wireless/marvell/mwl8k.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) -diff --git a/drivers/net/wireless/marvell/mwl8k.c b/drivers/net/wireless/marvell/mwl8k.c -index 8e4e9b6..ffc565a 100644 --- a/drivers/net/wireless/marvell/mwl8k.c +++ b/drivers/net/wireless/marvell/mwl8k.c -@@ -441,6 +441,9 @@ struct mwl8k_sta { +@@ -441,6 +441,9 @@ static const struct ieee80211_rate mwl8k #define MWL8K_CMD_UPDATE_STADB 0x1123 #define MWL8K_CMD_BASTREAM 0x1125 @@ -51,7 +49,7 @@ index 8e4e9b6..ffc565a 100644 static const char *mwl8k_cmd_name(__le16 cmd, char *buf, int bufsize) { u16 command = le16_to_cpu(cmd); -@@ -1016,8 +1019,9 @@ static void mwl8k_rxd_ap_refill(void *_rxd, dma_addr_t addr, int len) +@@ -1016,8 +1019,9 @@ mwl8k_rxd_ap_process(void *_rxd, struct if (rxd->channel > 14) { status->band = NL80211_BAND_5GHZ; @@ -63,7 +61,7 @@ index 8e4e9b6..ffc565a 100644 } else { status->band = NL80211_BAND_2GHZ; } -@@ -1124,8 +1128,9 @@ static void mwl8k_rxd_sta_refill(void *_rxd, dma_addr_t addr, int len) +@@ -1124,8 +1128,9 @@ mwl8k_rxd_sta_process(void *_rxd, struct if (rxd->channel > 14) { status->band = NL80211_BAND_5GHZ; @@ -75,6 +73,3 @@ index 8e4e9b6..ffc565a 100644 } else { status->band = NL80211_BAND_2GHZ; } --- -1.9.1 - diff --git a/package/kernel/mac80211/patches/subsys/357-mac80211-optimize-skb-resizing.patch b/package/kernel/mac80211/patches/subsys/357-mac80211-optimize-skb-resizing.patch index 919aa36a48..82ed1723c0 100644 --- a/package/kernel/mac80211/patches/subsys/357-mac80211-optimize-skb-resizing.patch +++ b/package/kernel/mac80211/patches/subsys/357-mac80211-optimize-skb-resizing.patch @@ -67,14 +67,20 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> struct ieee80211_hdr *hdr; - bool enc_tailroom; - int tail_need = 0; -+ int head_need, head_max; -+ int tail_need, tail_max; -+ bool enc_tailroom = false; - +- - hdr = (struct ieee80211_hdr *) skb->data; - enc_tailroom = may_encrypt && - (sdata->crypto_tx_tailroom_needed_cnt || - ieee80211_is_mgmt(hdr->frame_control)); +- +- if (enc_tailroom) { +- tail_need = IEEE80211_ENCRYPT_TAILROOM; +- tail_need -= skb_tailroom(skb); +- tail_need = max_t(int, tail_need, 0); ++ int head_need, head_max; ++ int tail_need, tail_max; ++ bool enc_tailroom = false; ++ + if (sdata && !hdr_len && + !(info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT)) { + hdr = (struct ieee80211_hdr *) skb->data; @@ -82,11 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> + ieee80211_is_mgmt(hdr->frame_control)); + hdr_len += sdata->encrypt_headroom; + } - -- if (enc_tailroom) { -- tail_need = IEEE80211_ENCRYPT_TAILROOM; -- tail_need -= skb_tailroom(skb); -- tail_need = max_t(int, tail_need, 0); ++ + head_need = head_max = hdr_len; + tail_need = tail_max = 0; + if (!sdata) { @@ -129,13 +131,13 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> - bool may_encrypt; - - may_encrypt = !(info->flags & IEEE80211_TX_INTFL_DONT_ENCRYPT); -- + - headroom = local->tx_headroom; - if (may_encrypt) - headroom += sdata->encrypt_headroom; - headroom -= skb_headroom(skb); - headroom = max_t(int, 0, headroom); - +- - if (ieee80211_skb_resize(sdata, skb, headroom, may_encrypt)) { + if (ieee80211_skb_resize(local, sdata, skb, 0, 0)) { ieee80211_free_txskb(&local->hw, skb); |