From 35b51a271f936f649e38e0ee45b8794f48a6263a Mon Sep 17 00:00:00 2001 From: Varun Reddy Yeturu Date: Sun, 1 Nov 2015 08:18:32 -0800 Subject: [PATCH] qcacld-3.0: Avoid PMKID and send correct MIC for CCKM+RSN scenario qcacld-2.0 to qcacld-3.0 propagation In the current design, PMKID is sent in RSN IE in reassoc req for CCKM roaming.When AP receives CCKM IE and PMKID, it gets confused and rejects the reassociation.So in case of CCKM+RSN, don't send PMKID. Also, in reassoc request, MIC was going 0 in CCKMIE.This MIC is calculated by calling platform driver API.When this API returns SUCCESS then result is copied in MIC buffer but if this API returns EINPROGRESS/EBUSY, then driver wait for the event and once the event is completed it does not copy the result in MIC buffer. So changes are done to copy this result in MIC buffer in case of BUSY/INPROGRESS status. Change-Id: Ide74db250aa5c129fa223582be830c15f34cfb16 CRs-Fixed: 763969 --- core/cds/src/cds_utils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/cds/src/cds_utils.c b/core/cds/src/cds_utils.c index fd186ae6bb..22f1a9453b 100644 --- a/core/cds/src/cds_utils.c +++ b/core/cds/src/cds_utils.c @@ -680,6 +680,8 @@ hmac_sha1(uint8_t *key, uint8_t ksize, char *plaintext, uint8_t psize, case -EBUSY: ret = wait_for_completion_interruptible(&tresult.completion); if (!ret && !tresult.err) { + for (i = 0; i < outlen; i++) + output[i] = hash_result[i]; INIT_COMPLETION(tresult.completion); break; } else {