From e0d4c8dfa0466d9b29d289a5521423949cd68bd8 Mon Sep 17 00:00:00 2001 From: Hsiu-Chang Chen Date: Wed, 26 Apr 2023 14:29:03 +0530 Subject: 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 --- wcn6740/qcwcn/wifi_hal/nan_req.cpp | 10 +++++----- 1 file 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; -- cgit v1.2.3