Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2198398/?format=api
{ "id": 2198398, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2198398/?format=api", "project": { "id": 22, "url": "http://patchwork.ozlabs.org/api/1.0/projects/22/?format=api", "name": "HostAP Development", "link_name": "hostap", "list_id": "hostap.lists.infradead.org", "list_email": "hostap@lists.infradead.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260219202514.5781-6-andrei.otcheretianski@intel.com>", "date": "2026-02-19T20:24:21", "name": "[05/58] NAN: Change the return value of nan_de_rx_sdf()", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "377f7f427946c225ce79d82e047a5aac32e5e3fb", "submitter": { "id": 62065, "url": "http://patchwork.ozlabs.org/api/1.0/people/62065/?format=api", "name": "Andrei Otcheretianski", "email": "andrei.otcheretianski@intel.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/hostap/patch/20260219202514.5781-6-andrei.otcheretianski@intel.com/mbox/", "series": [ { "id": 492721, "url": "http://patchwork.ozlabs.org/api/1.0/series/492721/?format=api", "date": "2026-02-19T20:24:21", "name": "NAN: Add NAN Data Path (NDP) support", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/492721/mbox/" } ], "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2198398/checks/", "tags": {}, "headers": { "Return-Path": "\n <hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=oR2v7rTs;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=nNAGTBwB;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fH4dx4yDmz23jJ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 07:26:13 +1100 (AEDT)", "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1vtAaq-0000000BvtO-2RZB;\n\tThu, 19 Feb 2026 20:25:48 +0000", "from mgamail.intel.com ([198.175.65.10])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1vtAao-0000000BvpR-2X7y\n\tfor hostap@lists.infradead.org;\n\tThu, 19 Feb 2026 20:25:47 +0000", "from orviesa004.jf.intel.com ([10.64.159.144])\n by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 Feb 2026 12:25:47 -0800", "from aotchere-mobl1.ger.corp.intel.com (HELO\n aotchere-mobl1.intel.com) ([10.245.246.171])\n by orviesa004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 Feb 2026 12:25:43 -0800" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:\n\tMessage-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=ivJpxlSasGOjqkjXnQZucLmr27DDicoeOQ2AiW1WxnM=; b=oR2v7rTsVTgT7M\n\tjN8GuYQFPWa02EgYi9pY8qpCeweD4YAT/WoRbvtyAIK8satYh8QrJoqzGo/m6tNWtqWcP65gqejQq\n\tAnp5ZKPF/EMayXMLyfJKM5GiBNEHErlvrnbmMROHiqQK5MFbpwrnkI1dehhprsB/klJjd5of7VZRH\n\tf/agCvT7WGF//nZQQ8mLmTNevX+HeNALeKY8aUc6An9iiTfw1P0gHmvJ17alXpWoFN3NqmYkR0vdm\n\tD0ciocTu6FPLrQCNZMGEquuSybDyzWbs8lw5aLEwZeugIbLg4XAmEeO3gsenXJtMyJttBAs5P8bln\n\tvs7QFXJz4msT1aLgCBfg==;", "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1771532747; x=1803068747;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=MhPphTQS/UtMQ+wbeCXDtjXhj7hAbKUDaRxrMOioUIE=;\n b=nNAGTBwBc4RRWqUN77xbnjQAknFFjwQ9I+xgYVHTTrB2SMhLjIWNfmZ1\n wtYbvRKHmzZrI/2MGemeOo7g9Vwf6LpVA3Nyu4M8kRbL7RXjY2wjLPgb/\n kARD6veBoLt6LqX5CzR6fJ+fy6ATN1vOZQrWuy+Agoq+SBvpbpSnF6nWB\n 0NExg4GcKqNxVYmFBD5ElJ2pdGO6DuuzBU5D+6bRvvxRSaJ/qeVExptY4\n cWhRgDyWPhLzPt5jfNs7bAey01rS+zfCFxFPMpr++bIM0D72REXFXka7t\n xPsvt1qoJU2nHPX5Dlb/EtAD4DDkL3FFxHHlD/sGl9QgxsvM3J+YCm//k\n w==;" ], "X-CSE-ConnectionGUID": [ "op0EY6onQNqEk3a80t30NA==", "rdIJWT/NRGqEz1O6iZZoXQ==" ], "X-CSE-MsgGUID": [ "0RQTu58OTHKz/eFSoDchdg==", "er0U8V+bTvG2XRRCunnNMQ==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6800,10657,11706\"; a=\"90039921\"", "E=Sophos;i=\"6.21,300,1763452800\";\n d=\"scan'208\";a=\"90039921\"", "E=Sophos;i=\"6.21,300,1763452800\";\n d=\"scan'208\";a=\"219153704\"" ], "X-ExtLoop1": "1", "From": "Andrei Otcheretianski <andrei.otcheretianski@intel.com>", "To": "hostap@lists.infradead.org,\n\tvamsin@qti.qualcomm.com,\n\tvganneva@qti.qualcomm.com,\n\tmaheshkkv@google.com", "Cc": "Ilan Peer <ilan.peer@intel.com>", "Subject": "[PATCH 05/58] NAN: Change the return value of nan_de_rx_sdf()", "Date": "Thu, 19 Feb 2026 22:24:21 +0200", "Message-ID": "<20260219202514.5781-6-andrei.otcheretianski@intel.com>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20260219202514.5781-1-andrei.otcheretianski@intel.com>", "References": "<20260219202514.5781-1-andrei.otcheretianski@intel.com>", "MIME-Version": "1.0", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20260219_122546_693294_DE3D766F ", "X-CRM114-Status": "GOOD ( 13.74 )", "X-Spam-Score": "-4.4 (----)", "X-Spam-Report": "Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam. The original\n message has been attached to this so you can view it or label\n similar future email. If you have any questions, see\n the administrator of that system for details.\n Content preview: From: Ilan Peer <ilan.peer@intel.com> Change the return\n value\n of nan_de_rx_sdf() and relevant function internal to the NAN DE to\n indicate\n if the information contained in the SDF was valuable, e.g.,\n there was a 'match'\n or 'result' event.\n Content analysis details: (-4.4 points, 5.0 required)\n pts rule name description\n ---- ----------------------\n --------------------------------------------------\n -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,\n medium trust\n [198.175.65.10 listed in list.dnswl.org]\n 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n Validity was blocked. See\n https://knowledge.validity.com/hc/en-us/articles/20961730681243\n for more information.\n [198.175.65.10 listed in sa-accredit.habeas.com]\n 0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The\n query to Validity was blocked. See\n https://knowledge.validity.com/hc/en-us/articles/20961730681243\n for more information.\n [198.175.65.10 listed in\n sa-trusted.bondedsender.org]\n 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to\n Validity was blocked. See\n https://knowledge.validity.com/hc/en-us/articles/20961730681243\n for more information.\n [198.175.65.10 listed in\n bl.score.senderscore.com]\n -0.0 SPF_PASS SPF: sender matches SPF record\n 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record\n -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n author's\n domain\n -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from\n envelope-from domain\n -0.1 DKIM_VALID Message has at least one valid DKIM or DK\n signature\n 0.1 DKIM_SIGNED Message has a DKIM or DK signature,\n not necessarily valid\n -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%\n [score: 0.0000]\n -0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender", "X-BeenThere": "hostap@lists.infradead.org", "X-Mailman-Version": "2.1.34", "Precedence": "list", "List-Id": "<hostap.lists.infradead.org>", "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/hostap>,\n <mailto:hostap-request@lists.infradead.org?subject=unsubscribe>", "List-Archive": "<http://lists.infradead.org/pipermail/hostap/>", "List-Post": "<mailto:hostap@lists.infradead.org>", "List-Help": "<mailto:hostap-request@lists.infradead.org?subject=help>", "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/hostap>,\n <mailto:hostap-request@lists.infradead.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "\"Hostap\" <hostap-bounces@lists.infradead.org>", "Errors-To": "hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org" }, "content": "From: Ilan Peer <ilan.peer@intel.com>\n\nChange the return value of nan_de_rx_sdf() and relevant function\ninternal to the NAN DE to indicate if the information contained\nin the SDF was valuable, e.g., there was a 'match' or 'result'\nevent.\n\nThis is needed in later patches that add logic to store information\nabout a peer, i.e., avoid storing peers that are not relevant.\n\nSigned-off-by: Ilan Peer <ilan.peer@intel.com>\n---\n src/common/nan_de.c | 102 +++++++++++++++++++++++++-------------------\n src/common/nan_de.h | 2 +-\n 2 files changed, 59 insertions(+), 45 deletions(-)", "diff": "diff --git a/src/common/nan_de.c b/src/common/nan_de.c\nindex b12a257ba7..1a8bd45d36 100644\n--- a/src/common/nan_de.c\n+++ b/src/common/nan_de.c\n@@ -1146,7 +1146,7 @@ static bool nan_de_filter_match(struct nan_de_service *srv,\n }\n \n \n-static void nan_de_rx_publish(struct nan_de *de, struct nan_de_service *srv,\n+static bool nan_de_rx_publish(struct nan_de *de, struct nan_de_service *srv,\n \t\t\t const u8 *peer_addr, const u8 *a3, u8 instance_id,\n \t\t\t const u8 *matching_filter,\n \t\t\t size_t matching_filter_len,\n@@ -1156,7 +1156,7 @@ static void nan_de_rx_publish(struct nan_de *de, struct nan_de_service *srv,\n \t\t\t bool range_limit, int rssi)\n {\n \tif (!nan_de_filter_match(srv, matching_filter, matching_filter_len))\n-\t\treturn;\n+\t\treturn false;\n \n \t/* Skip USD logic */\n \tif (srv->sync)\n@@ -1168,7 +1168,7 @@ static void nan_de_rx_publish(struct nan_de *de, struct nan_de_service *srv,\n \t\t\twpa_printf(MSG_DEBUG,\n \t\t\t\t \"NAN: Discard SDA with RSSI %d below threshold %d\",\n \t\t\t\t rssi, de->rssi_threshold);\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\t}\n \t}\n \n@@ -1201,10 +1201,12 @@ send_event:\n \t\t\tpeer_addr,\n \t\t\tsdea_control & NAN_SDEA_CTRL_FSD_REQ,\n \t\t\tsdea_control & NAN_SDEA_CTRL_FSD_GAS);\n+\n+\treturn true;\n }\n \n \n-static void nan_de_rx_subscribe(struct nan_de *de, struct nan_de_service *srv,\n+static bool nan_de_rx_subscribe(struct nan_de *de, struct nan_de_service *srv,\n \t\t\t\tconst u8 *peer_addr, const u8 *a3,\n \t\t\t\tu8 instance_id,\n \t\t\t\tconst u8 *matching_filter,\n@@ -1218,7 +1220,7 @@ static void nan_de_rx_subscribe(struct nan_de *de, struct nan_de_service *srv,\n \t/* Publish function processing of a receive Subscribe message */\n \n \tif (!nan_de_filter_match(srv, matching_filter, matching_filter_len))\n-\t\treturn;\n+\t\treturn false;\n \n \tif ((range_limit || srv->close_proximity) &&\n \t de->rssi_threshold && rssi) {\n@@ -1226,19 +1228,19 @@ static void nan_de_rx_subscribe(struct nan_de *de, struct nan_de_service *srv,\n \t\t\twpa_printf(MSG_DEBUG,\n \t\t\t\t \"NAN: Discard SDA with RSSI %d below threshold %d\",\n \t\t\t\t rssi, de->rssi_threshold);\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\t}\n \t}\n \n \tif (!srv->publish.solicited)\n-\t\treturn;\n+\t\treturn false;\n \n \tif (os_reltime_initialized(&srv->pause_state_end) &&\n \t (!ether_addr_equal(peer_addr, srv->sel_peer_addr) ||\n \t instance_id != srv->sel_peer_id)) {\n \t\twpa_printf(MSG_DEBUG,\n \t\t\t \"NAN: In pauseState - ignore Subscribe message from another subscriber\");\n-\t\treturn;\n+\t\treturn false;\n \t}\n \n \tif (de->offload)\n@@ -1267,10 +1269,12 @@ offload:\n \tif (!srv->publish.disable_events && de->cb.replied)\n \t\tde->cb.replied(de->cb.ctx, srv->id, peer_addr, instance_id,\n \t\t\t srv_proto_type, ssi, ssi_len);\n+\n+\treturn true;\n }\n \n \n-static void nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service *srv,\n+static bool nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service *srv,\n \t\t\t\tconst u8 *peer_addr, const u8 *a3,\n \t\t\t\tu8 instance_id, const u8 *ssi, size_t ssi_len)\n {\n@@ -1284,7 +1288,7 @@ static void nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service *srv,\n \t !ssi)) {\n \t\twpa_printf(MSG_DEBUG,\n \t\t\t \"NAN: In pauseState - ignore Follow-up message from another subscriber or without ssi\");\n-\t\treturn;\n+\t\treturn false;\n \t}\n \n \tif (srv->type == NAN_DE_PUBLISH && !ssi && !srv->sync)\n@@ -1296,6 +1300,8 @@ static void nan_de_rx_follow_up(struct nan_de *de, struct nan_de_service *srv,\n \tif (de->cb.receive)\n \t\tde->cb.receive(de->cb.ctx, srv->id, instance_id, ssi, ssi_len,\n \t\t\t peer_addr);\n+\n+\treturn true;\n }\n \n \n@@ -1355,7 +1361,7 @@ static bool nan_srf_match(struct nan_de *de, const u8 *srf, size_t srf_len)\n }\n \n \n-static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n+static bool nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\t\t unsigned int freq, const u8 *buf, size_t len,\n \t\t\t const u8 *sda, size_t sda_len, int rssi)\n {\n@@ -1371,9 +1377,10 @@ static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \tconst u8 *end;\n \tconst u8 *matching_filter = NULL;\n \tsize_t matching_filter_len = 0;\n+\tbool ret = false;\n \n \tif (sda_len < NAN_SERVICE_ID_LEN + 1 + 1 + 1)\n-\t\treturn;\n+\t\treturn false;\n \tend = sda + sda_len;\n \n \tservice_id = sda;\n@@ -1392,12 +1399,12 @@ static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\twpa_printf(MSG_DEBUG,\n \t\t\t \"NAN: Discard SDF with unknown Service Control Type %u\",\n \t\t\t type);\n-\t\treturn;\n+\t\treturn false;\n \t}\n \n \tif (ctrl & NAN_SRV_CTRL_BINDING_BITMAP) {\n \t\tif (end - sda < 2)\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\tsda += 2;\n \t}\n \n@@ -1405,10 +1412,10 @@ static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\tu8 flen;\n \n \t\tif (end - sda < 1)\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\tflen = *sda++;\n \t\tif (end - sda < flen)\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\tmatching_filter = sda;\n \t\tmatching_filter_len = flen;\n \t\tsda += flen;\n@@ -1418,15 +1425,15 @@ static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\tu8 flen;\n \n \t\tif (end - sda < 1)\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\tflen = *sda++;\n \t\tif (end - sda < flen)\n-\t\t\treturn;\n+\t\t\treturn false;\n \n \t\tif (!nan_srf_match(de, sda, flen)) {\n \t\t\twpa_printf(MSG_DEBUG,\n \t\t\t\t \"NAN: Discard SDA with non-matching SRF\");\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\t}\n \n \t\tsda += flen;\n@@ -1436,11 +1443,11 @@ static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\tu8 flen;\n \n \t\tif (end - sda < 1)\n-\t\t\treturn;\n+\t\t\treturn false;\n \t\tflen = *sda++;\n \n \t\tif (end - sda < flen)\n-\t\t\treturn;\n+\t\t\treturn false;\n \n \t\tif (flen) {\n \t\t\tssi = sda;\n@@ -1489,44 +1496,49 @@ static void nan_de_rx_sda(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \n \t\tswitch (type) {\n \t\tcase NAN_SRV_CTRL_PUBLISH:\n-\t\t\tnan_de_rx_publish(de, srv, peer_addr, a3, instance_id,\n-\t\t\t\t\t matching_filter,\n-\t\t\t\t\t matching_filter_len,\n-\t\t\t\t\t req_instance_id,\n-\t\t\t\t\t sdea_control, srv_proto_type,\n-\t\t\t\t\t ssi, ssi_len,\n-\t\t\t\t\t ctrl &\n-\t\t\t\t\t NAN_SRV_CTRL_DISCOVERY_RANGE_LIMITED,\n-\t\t\t\t\t rssi);\n+\t\t\tret |= nan_de_rx_publish(de, srv, peer_addr, a3,\n+\t\t\t\t\t\t instance_id,\n+\t\t\t\t\t\t matching_filter,\n+\t\t\t\t\t\t matching_filter_len,\n+\t\t\t\t\t\t req_instance_id,\n+\t\t\t\t\t\t sdea_control, srv_proto_type,\n+\t\t\t\t\t\t ssi, ssi_len,\n+\t\t\t\t\t\t ctrl &\n+\t\t\t\t\t\t NAN_SRV_CTRL_DISCOVERY_RANGE_LIMITED,\n+\t\t\t\t\t\t rssi);\n \t\t\tbreak;\n \t\tcase NAN_SRV_CTRL_SUBSCRIBE:\n-\t\t\tnan_de_rx_subscribe(de, srv, peer_addr, a3, instance_id,\n-\t\t\t\t\t matching_filter,\n-\t\t\t\t\t matching_filter_len,\n-\t\t\t\t\t srv_proto_type,\n-\t\t\t\t\t ssi, ssi_len,\n-\t\t\t\t\t ctrl &\n-\t\t\t\t\t NAN_SRV_CTRL_DISCOVERY_RANGE_LIMITED,\n-\t\t\t\t\t rssi);\n+\t\t\tret |= nan_de_rx_subscribe(de, srv, peer_addr, a3,\n+\t\t\t\t\t\t instance_id,\n+\t\t\t\t\t\t matching_filter,\n+\t\t\t\t\t\t matching_filter_len,\n+\t\t\t\t\t\t srv_proto_type,\n+\t\t\t\t\t\t ssi, ssi_len,\n+\t\t\t\t\t\t ctrl &\n+\t\t\t\t\t\t NAN_SRV_CTRL_DISCOVERY_RANGE_LIMITED,\n+\t\t\t\t\t\t rssi);\n \t\t\tbreak;\n \t\tcase NAN_SRV_CTRL_FOLLOW_UP:\n-\t\t\tnan_de_rx_follow_up(de, srv, peer_addr, a3, instance_id,\n-\t\t\t\t\t ssi, ssi_len);\n+\t\t\tret |= nan_de_rx_follow_up(de, srv, peer_addr, a3,\n+\t\t\t\t\t\t instance_id, ssi, ssi_len);\n \t\t\tbreak;\n \t\t}\n \t}\n+\n+\treturn ret;\n }\n \n \n-void nan_de_rx_sdf(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n+bool nan_de_rx_sdf(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\t unsigned int freq, const u8 *buf, size_t len, int rssi)\n {\n \tconst u8 *sda;\n \tu16 sda_len;\n \tunsigned int skip;\n+\tbool ret = false;\n \n \tif (!de->num_service)\n-\t\treturn;\n+\t\treturn false;\n \n \twpa_printf(MSG_DEBUG, \"NAN: RX SDF from \" MACSTR\n \t\t \" freq=%u len=%zu rssi=%d\",\n@@ -1542,9 +1554,11 @@ void nan_de_rx_sdf(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\tsda++;\n \t\tsda_len = WPA_GET_LE16(sda);\n \t\tsda += 2;\n-\t\tnan_de_rx_sda(de, peer_addr, a3, freq, buf, len, sda, sda_len,\n-\t\t\t rssi);\n+\t\tret |= nan_de_rx_sda(de, peer_addr, a3, freq, buf, len,\n+\t\t\t\t sda, sda_len, rssi);\n \t}\n+\n+\treturn ret;\n }\n \n \ndiff --git a/src/common/nan_de.h b/src/common/nan_de.h\nindex c842b90b3c..f1e99aec73 100644\n--- a/src/common/nan_de.h\n+++ b/src/common/nan_de.h\n@@ -81,7 +81,7 @@ void nan_de_update_nmi(struct nan_de *de, const u8 *nmi);\n void nan_de_tx_status(struct nan_de *de, unsigned int freq, const u8 *dst);\n void nan_de_tx_wait_ended(struct nan_de *de);\n \n-void nan_de_rx_sdf(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n+bool nan_de_rx_sdf(struct nan_de *de, const u8 *peer_addr, const u8 *a3,\n \t\t unsigned int freq, const u8 *buf, size_t len, int rssi);\n const u8 * nan_de_get_service_id(struct nan_de *de, int id);\n \n", "prefixes": [ "05/58" ] }