Merge "[qca-nss-drv]: Set skb queue mapping"
diff --git a/nss_virt_if.c b/nss_virt_if.c
index e49f6a6..03476ce 100644
--- a/nss_virt_if.c
+++ b/nss_virt_if.c
@@ -513,6 +513,7 @@
 {
 	int32_t if_num = handle->if_num_h2n;
 	struct nss_ctx_instance *nss_ctx = handle->nss_ctx;
+	int cpu = 0;
 
 	if (unlikely(nss_ctl_redirect == 0)) {
 		return NSS_TX_FAILURE_NOT_ENABLED;
@@ -546,6 +547,13 @@
 		return NSS_TX_FAILURE_NOT_SUPPORTED;
 	}
 
+	/*
+	 * set skb queue mapping
+	 */
+	cpu = get_cpu();
+	put_cpu();
+	skb_set_queue_mapping(skb, cpu);
+
 	return nss_core_send_packet(nss_ctx, skb, if_num, H2N_BIT_FLAG_VIRTUAL_BUFFER);
 }
 EXPORT_SYMBOL(nss_virt_if_tx_buf);
diff --git a/nss_wifi_if.c b/nss_wifi_if.c
index 5474e83..e695f1e 100644
--- a/nss_wifi_if.c
+++ b/nss_wifi_if.c
@@ -473,6 +473,7 @@
 {
 	struct nss_ctx_instance *nss_ctx;
 	int32_t if_num;
+	int cpu = 0;
 
 	if (!handle) {
 		nss_warning("nss_wifi_if_tx_buf handle is NULL\n");
@@ -503,6 +504,13 @@
 		return NSS_TX_FAILURE_TOO_SHORT;
 	}
 
+	/*
+	 * set skb queue mapping
+	 */
+	cpu = get_cpu();
+	put_cpu();
+	skb_set_queue_mapping(skb, cpu);
+
 	return nss_core_send_packet(nss_ctx, skb, if_num, H2N_BIT_FLAG_VIRTUAL_BUFFER);
 }
 EXPORT_SYMBOL(nss_wifi_if_tx_buf);