summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2023-04-26 14:29:03 +0530
committerHsiu-Chang Chen <hsiuchangchen@google.com>2023-05-09 17:16:33 +0800
commite0d4c8dfa0466d9b29d289a5521423949cd68bd8 (patch)
treef631dcd3aad7be40e510cd6db30b45fad88dd3e5
parenta007dee9ad77c844e99e2a07103ed37edb7801ad (diff)
downloadwlan-e0d4c8dfa0466d9b29d289a5521423949cd68bd8.tar.gz
wifihal: Mask pub_sub_id to single byte
Framework interprets pub_sub_id as signed char for which subscribe ids are observed to be negative. Mask pub_sub_id received in the publishCancel and subscribeCancel request as single byte to avoid incorrect translation. Bug: 278825501 Test: Regression Test Change-Id: I91b00aa861c8d532ff4c1bd9783fa83e3bf8e2c0
-rw-r--r--wcn6740/qcwcn/wifi_hal/nan_req.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/wcn6740/qcwcn/wifi_hal/nan_req.cpp b/wcn6740/qcwcn/wifi_hal/nan_req.cpp
index f5c425b..1350623 100644
--- a/wcn6740/qcwcn/wifi_hal/nan_req.cpp
+++ b/wcn6740/qcwcn/wifi_hal/nan_req.cpp
@@ -822,7 +822,7 @@ wifi_error NanCommand::putNanPublish(transaction_id id, const NanPublishRequest
if (pReq->publish_id == 0) {
pFwReq->fwHeader.handle = 0xFFFF;
} else {
- pFwReq->fwHeader.handle = pReq->publish_id;
+ pFwReq->fwHeader.handle = (pReq->publish_id & 0xFF);
}
pFwReq->fwHeader.transactionId = id;
@@ -1026,7 +1026,7 @@ wifi_error NanCommand::putNanPublishCancel(transaction_id id, const NanPublishCa
pFwReq->fwHeader.msgVersion = (u16)NAN_MSG_VERSION1;
pFwReq->fwHeader.msgId = NAN_MSG_ID_PUBLISH_SERVICE_CANCEL_REQ;
pFwReq->fwHeader.msgLen = message_len;
- pFwReq->fwHeader.handle = pReq->publish_id;
+ pFwReq->fwHeader.handle = (pReq->publish_id & 0xFF);
pFwReq->fwHeader.transactionId = id;
mVendorData = (char *)pFwReq;
@@ -1121,7 +1121,7 @@ wifi_error NanCommand::putNanSubscribe(transaction_id id,
if (pReq->subscribe_id == 0) {
pFwReq->fwHeader.handle = 0xFFFF;
} else {
- pFwReq->fwHeader.handle = pReq->subscribe_id;
+ pFwReq->fwHeader.handle = (pReq->subscribe_id & 0xFF);
}
pFwReq->fwHeader.transactionId = id;
@@ -1327,7 +1327,7 @@ wifi_error NanCommand::putNanSubscribeCancel(transaction_id id,
pFwReq->fwHeader.msgVersion = (u16)NAN_MSG_VERSION1;
pFwReq->fwHeader.msgId = NAN_MSG_ID_SUBSCRIBE_SERVICE_CANCEL_REQ;
pFwReq->fwHeader.msgLen = message_len;
- pFwReq->fwHeader.handle = pReq->subscribe_id;
+ pFwReq->fwHeader.handle = (pReq->subscribe_id & 0xFF);
pFwReq->fwHeader.transactionId = id;
mVendorData = (char *)pFwReq;
@@ -1391,7 +1391,7 @@ wifi_error NanCommand::putNanTransmitFollowup(transaction_id id,
pFwReq->fwHeader.msgVersion = (u16)NAN_MSG_VERSION1;
pFwReq->fwHeader.msgId = NAN_MSG_ID_TRANSMIT_FOLLOWUP_REQ;
pFwReq->fwHeader.msgLen = message_len;
- pFwReq->fwHeader.handle = pReq->publish_subscribe_id;
+ pFwReq->fwHeader.handle = (pReq->publish_subscribe_id & 0xFF);
pFwReq->fwHeader.transactionId = id;
pFwReq->transmitFollowupReqParams.matchHandle = pReq->requestor_instance_id;