diff --git a/drivers/net/wireless/ath/wil6210/netdev.c b/drivers/net/wireless/ath/wil6210/netdev.c index 3e9c3081c976..97b787cedcdb 100644 --- a/drivers/net/wireless/ath/wil6210/netdev.c +++ b/drivers/net/wireless/ath/wil6210/netdev.c @@ -19,9 +19,9 @@ module_param(alt_ifname, bool, 0444); MODULE_PARM_DESC(alt_ifname, " use an alternate interface name wigigN instead of wlanN"); /* enable access category for transmit packets, this parameter may be controlled - * via wigig.ini config file, default disabled + * via wigig.ini config file, default enabled */ -bool ac_queues; +bool ac_queues = true; bool wil_has_other_active_ifaces(struct wil6210_priv *wil, struct net_device *ndev, bool up, bool ok) @@ -114,7 +114,9 @@ static u16 wil_select_queue(struct net_device *ndev, return 0; /* determine the priority */ - if (skb->priority == 0 || skb->priority > 7) + if (wil_is_special_packet(skb)) + skb->priority = 7; + else if (skb->priority == 0 || skb->priority > 7) skb->priority = cfg80211_classify8021d(skb, NULL); qid = wil_1d_to_queue[skb->priority]; diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index 406beb73cec4..ced6751f2def 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -2042,7 +2042,7 @@ err_exit: return rc; } -static inline bool is_special_packet(const struct sk_buff *skb) +bool wil_is_special_packet(const struct sk_buff *skb) { if (skb->protocol == cpu_to_be16(ETH_P_ARP) || skb->protocol == cpu_to_be16(ETH_P_RARP) || @@ -2073,7 +2073,7 @@ static int __wil_tx_ring(struct wil6210_priv *wil, struct wil6210_vif *vif, bool mcast = (ring_index == vif->bcast_ring); uint len = skb_headlen(skb); bool special_packet = (wil->tx_reserved_entries != 0 && - is_special_packet(skb)); + wil_is_special_packet(skb)); int avail = wil_ring_avail_tx(ring) - (special_packet ? 0 : txdata->tx_reserved_count); u8 ctx_flags = special_packet ? WIL_CTX_FLAG_RESERVED_USED : 0; diff --git a/drivers/net/wireless/ath/wil6210/txrx.h b/drivers/net/wireless/ath/wil6210/txrx.h index 7aa1afe902d5..d9e116ba8dce 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.h +++ b/drivers/net/wireless/ath/wil6210/txrx.h @@ -696,5 +696,6 @@ void wil_init_txrx_ops_legacy_dma(struct wil6210_priv *wil); void wil_tx_latency_calc(struct wil6210_priv *wil, struct sk_buff *skb, struct wil_sta_info *sta); int wil_get_cid_by_ring(struct wil6210_priv *wil, struct wil_ring *ring); +bool wil_is_special_packet(const struct sk_buff *skb); #endif /* WIL6210_TXRX_H */