瀏覽代碼

qcacmn: Move to next rx handler when nbuf clone fails

When calling registered mgmt rx handlers,
we iterate through all handlers,
and for each handler, clone the nbuf and if cloned successfully,
we call the corresponding handler.

In case of clone failure, we would simply continue, and not move to the
next rx handler, and would possibly attempt cloning for large number
of iterations. Instead, when clone fails,
we should move to the next rx handler

Change-Id: Ia752a2e7699f6fd92fe2a363a6ae19ca2e0cc5fe
CRs-Fixed: 2379751
Vivek 6 年之前
父節點
當前提交
20209b5300
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_tgt_api.c

+ 3 - 1
umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_tgt_api.c

@@ -991,8 +991,10 @@ QDF_STATUS tgt_mgmt_txrx_rx_frame_handler(
 	while (rx_handler->next) {
 		copy_buf = qdf_nbuf_clone(buf);
 
-		if (!copy_buf)
+		if (!copy_buf) {
+			rx_handler = rx_handler->next;
 			continue;
+		}
 
 		rx_handler->rx_cb(psoc, peer, copy_buf,
 					mgmt_rx_params, frm_type);