qcalcd3.0: Update proper Peer before flush the fragments

Currently, due to incorrect peer, flushing of fragments frame
as part of add key is not happening for destined peer.
So because of this reassembly of fragment frame is not
discarding after rekey done.
Fix this issue by updating destined peer properly before flushing.

Bug: 195071560
Change-Id: I51db68949e887edf49468c61058875eeb43bcd77
CRs-Fixed: 2976643
Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index de5d602..64a766d 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -16496,6 +16496,18 @@
 	qdf_mem_copy(&set_key.Key[0], params->key, params->key_len);
 	qdf_mem_copy(&set_key.keyRsc[0], params->seq, params->seq_len);
 
+	if (!pairwise) {
+		/* set group key */
+		hdd_debug("setting Broadcast key");
+		set_key.keyDirection = eSIR_RX_ONLY;
+		qdf_set_macaddr_broadcast(&set_key.peerMac);
+	} else {
+		/* set pairwise key */
+		hdd_debug("setting pairwise key");
+		set_key.keyDirection = eSIR_TX_RX;
+		qdf_mem_copy(set_key.peerMac.bytes, mac_addr, QDF_MAC_ADDR_SIZE);
+	}
+
 	mac_handle = hdd_ctx->mac_handle;
 
 	cdp_peer_flush_frags(cds_get_context(QDF_MODULE_ID_SOC),
@@ -16598,17 +16610,6 @@
 
 	hdd_debug("encryption type %d", set_key.encType);
 
-	if (!pairwise) {
-		/* set group key */
-		hdd_debug("setting Broadcast key");
-		set_key.keyDirection = eSIR_RX_ONLY;
-		qdf_set_macaddr_broadcast(&set_key.peerMac);
-	} else {
-		/* set pairwise key */
-		hdd_debug("setting pairwise key");
-		set_key.keyDirection = eSIR_TX_RX;
-		qdf_mem_copy(set_key.peerMac.bytes, mac_addr, QDF_MAC_ADDR_SIZE);
-	}
 	if ((QDF_IBSS_MODE == adapter->device_mode) && !pairwise) {
 		/* if a key is already installed, block all subsequent ones */
 		if (adapter->session.station.ibss_enc_key_installed) {