Browse Source

qcacmn: Add changes to account for encryption header size

This reverts Change-Id: I521b0990fe9e5746a8c8cfb29de7064cf51d0687
(qcacmn: Add fix for encryption fragment ping)

Original change has removed logic to Account for encryption
header size during 802.11 header decapsulation. Which is resulting
in DHCP failure in fragmented DHCP frames, as N/W stack is dropping DHCP
offer due to invalid payload.

Revert back to account for encryption header size during
802.11 header decapsulation

Change-Id: I246e19bf7637d3b66b5d0b3648c76d8765502ac6
CRs-Fixed: 3627678
Amit Mehta 1 year ago
parent
commit
70b27b1e08
1 changed files with 5 additions and 0 deletions
  1. 5 0
      dp/wifi3.0/dp_rx_defrag.c

+ 5 - 0
dp/wifi3.0/dp_rx_defrag.c

@@ -1498,6 +1498,8 @@ QDF_STATUS dp_rx_defrag(struct dp_txrx_peer *txrx_peer, unsigned int tid,
 			cur = tmp_next;
 		}
 
+		/* If success, increment header to be stripped later */
+		hdr_space += dp_f_ccmp.ic_header;
 		break;
 
 	case cdp_sec_type_wep40:
@@ -1516,6 +1518,8 @@ QDF_STATUS dp_rx_defrag(struct dp_txrx_peer *txrx_peer, unsigned int tid,
 			cur = tmp_next;
 		}
 
+		/* If success, increment header to be stripped later */
+		hdr_space += dp_f_wep.ic_header;
 		break;
 	case cdp_sec_type_aes_gcmp:
 	case cdp_sec_type_aes_gcmp_256:
@@ -1531,6 +1535,7 @@ QDF_STATUS dp_rx_defrag(struct dp_txrx_peer *txrx_peer, unsigned int tid,
 			cur = tmp_next;
 		}
 
+		hdr_space += dp_f_gcmp.ic_header;
 		break;
 	default:
 		break;