diff --git a/feeds/wifi-ax/mac80211/patches/pending/220-napi_threaded.patch b/feeds/wifi-ax/mac80211/patches/pending/220-napi_threaded.patch new file mode 100644 index 000000000..9b750c9cc --- /dev/null +++ b/feeds/wifi-ax/mac80211/patches/pending/220-napi_threaded.patch @@ -0,0 +1,57 @@ +--- a/drivers/net/wireless/ath/ath11k/ahb.c ++++ b/drivers/net/wireless/ath/ath11k/ahb.c +@@ -526,6 +526,7 @@ static int ath11k_ahb_ext_irq_config(str + int irq; + int ret; + bool nss_offload; ++ static int devidx = 0; + + /* TCL Completion, REO Dest, ERR, Exception and h2rxdma rings are offloaded + * to nss when its enabled, hence don't enable these interrupts +@@ -539,6 +540,9 @@ static int ath11k_ahb_ext_irq_config(str + irq_grp->ab = ab; + irq_grp->grp_id = i; + init_dummy_netdev(&irq_grp->napi_ndev); ++ snprintf(irq_grp->napi_ndev.name, sizeof(irq_grp->napi_ndev.name), "%s%d:%d", ++ "ath11k_ahb", devidx, i); ++ irq_grp->napi_ndev.threaded = 1; + netif_napi_add(&irq_grp->napi_ndev, &irq_grp->napi, + ath11k_ahb_ext_grp_napi_poll, NAPI_POLL_WEIGHT); + +@@ -604,6 +608,8 @@ static int ath11k_ahb_ext_irq_config(str + } + } + ++ devidx++; ++ + return 0; + } + +--- a/drivers/net/wireless/ath/ath11k/pci.c ++++ b/drivers/net/wireless/ath/ath11k/pci.c +@@ -806,6 +806,7 @@ static int ath11k_pci_ext_irq_config(str + int i, j, ret, num_vectors = 0; + u32 user_base_data = 0, base_vector = 0, base_idx; + u8 domain_id; ++ static int devidx = 0; + + domain_id = ath11k_pci_get_domain_id(ab); + base_idx = ATH11K_PCI_IRQ_CE0_OFFSET + CE_COUNT_MAX; +@@ -822,6 +823,9 @@ static int ath11k_pci_ext_irq_config(str + irq_grp->ab = ab; + irq_grp->grp_id = i; + init_dummy_netdev(&irq_grp->napi_ndev); ++ snprintf(irq_grp->napi_ndev.name, sizeof(irq_grp->napi_ndev.name), "%s%d:%d", ++ "ath11k_pci", devidx, i); ++ irq_grp->napi_ndev.threaded = 1; + netif_napi_add(&irq_grp->napi_ndev, &irq_grp->napi, + ath11k_pci_ext_grp_napi_poll, NAPI_POLL_WEIGHT); + +@@ -868,6 +872,7 @@ static int ath11k_pci_ext_irq_config(str + } + } + ++ devidx++; + return 0; + } +