get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2229879/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2229879,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2229879/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/hostap/patch/20260428200639.40243-71-andrei.otcheretianski@intel.com/",
    "project": {
        "id": 22,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": "<20260428200639.40243-71-andrei.otcheretianski@intel.com>",
    "date": "2026-04-28T20:06:11",
    "name": "[70/97] NAN: Update peers schedule when local schedule changes",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "4000d4545cabb06aff8ac9f2f958b0f077cc1160",
    "submitter": {
        "id": 62065,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/62065/?format=api",
        "name": "Andrei Otcheretianski",
        "email": "andrei.otcheretianski@intel.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/hostap/patch/20260428200639.40243-71-andrei.otcheretianski@intel.com/mbox/",
    "series": [
        {
            "id": 501927,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501927/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/hostap/list/?series=501927",
            "date": "2026-04-28T20:05:05",
            "name": "NAN: Group keys support, schedule update and more",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/501927/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2229879/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2229879/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=33HJUfiM;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=casper.20170209 header.b=JP4sy+0e;\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=jH1+wnAN;\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 4g4s8h3Qvqz1yJH\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 06:14:12 +1000 (AEST)",
            "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHooK-00000002KTa-33KR;\n\tTue, 28 Apr 2026 20:13:36 +0000",
            "from casper.infradead.org ([2001:8b0:10b:1236::1])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHokl-00000002FVj-0OGO\n\tfor hostap@bombadil.infradead.org;\n\tTue, 28 Apr 2026 20:09:55 +0000",
            "from mgamail.intel.com ([198.175.65.16])\n\tby casper.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHokd-00000004NYt-2XF9\n\tfor hostap@lists.infradead.org;\n\tTue, 28 Apr 2026 20:09:53 +0000",
            "from fmviesa001.fm.intel.com ([10.60.135.141])\n  by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Apr 2026 13:09:03 -0700",
            "from iapp347.iil.intel.com (HELO 87c02287900a.iil.intel.com)\n ([10.167.28.6])\n  by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Apr 2026 13:09:02 -0700"
        ],
        "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=/THHRdhGS6jYVo7Tadk0Irnd8lPE8d7xFlTseSd+vsQ=; b=33HJUfiM84wk4E\n\t0kz3gRAR1cp1eFe/2BwM7Rf1EkO83Rq0owlXBUhy35IrU4PhV1L9xHlItNK/ftMP6h8EetttJ89QH\n\tkrxJpNNvMIZk8pjjtm+StFri/F+6aqF/tn6po9IyW9diEtI5c4bY0jAPIs8Hb9KFWtF5NtpMSb359\n\t/1hKmyLAe1KM0y9Mm/PRyHj4vl/23mdejNNHjhNxulyVAPs4j0B7dcoQVT79THSHjp0Ada+SKL1E4\n\tEvYwZMZOcq/z3ASvGD6H3FezkTGtYDpytYiHEHaNnYyLgwufdVOM5Bqg2Z7ZEVk9Z89w3nDK9fxMN\n\t/zbUjhNC8i3vupEBhR3w==;",
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version:\n\tReferences:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:\n\tContent-Type:Content-ID:Content-Description;\n\tbh=R+R/sFW73HXpmaF478FHc/1pkHwliGZuq/zYSKd9p0s=; b=JP4sy+0ecSgL0U+1be9ccTOf6P\n\tYW91uFbvGZv6QpUhA4HUgRhJcr4mAMAl/RrhAk+Q5X9D3BFGyFL8Lx9j/EU5gelUP3gAylq8LZb9h\n\tbAKGu3m/WuCYZS/8xhjQWVO4H0jQyFD6WZrK8af4ETLtxj3JJOumR+NC/GYjB1cXwuPIYrVIhtbkK\n\t6AmJqo3idaiJhUZnXCTFz5XL1QxHud9/s7FuLv1IlguzzOFX8912F0uTFkhH+WFvPMKP+NmQAPuja\n\ttwP4YBp6d9qXkWR+14bSJ28dNPoOtHB761O6HZfCAfOykXGLXDtQtByRFjJn9tPLax1zhqIVSJCRL\n\t+c5jYOsA==;",
            "v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1777406987; x=1808942987;\n  h=from:to:cc:subject:date:message-id:in-reply-to:\n   references:mime-version:content-transfer-encoding;\n  bh=KRO18UZ82YuqrbrPQB7M7EP3nkfoMepocW6YCCZvGNw=;\n  b=jH1+wnAN2aLNm5h5g+hr0lDoOlNFOmGWDZ1eEgi8m7ojBSU7UdxAWe0q\n   EhhVB0iaSXjgzilsYk8Zikg6EwRsWv1EEJI5dS6goxPzds5GHkqP6b2Rq\n   hgVsaN+vFZFDyH/pCa3JHJqN1hpCrD8pzzkW8ZsN5hTsrtdZJntGkfY0A\n   y0AIoQCoLBoJCeBK1BIQRbNVGO4KBXUkVXSdZg/3wgU5/Uef7m3NWKf60\n   N/zOV5p2TxUriC8QtoYWx3LA7oAROT9YNeXs7cpZvfR+TADLZkIfEV7Xa\n   pbgWTzBWqClr51iGD3I/jml6Wt20f8sMtvxi+Ht+Gc9h2AyNIJ8l1J9eV\n   g==;"
        ],
        "X-CSE-ConnectionGUID": [
            "9k70BsY/Qnmvnb74en51nA==",
            "fN85Z5r4TRu8SyjaPrbZ5A=="
        ],
        "X-CSE-MsgGUID": [
            "/nyG/sTcROa87CO9qq6ASQ==",
            "UUZpks3HRgCzRzNvYSPN6w=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6800,10657,11770\"; a=\"78519516\"",
            "E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"78519516\"",
            "E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"257610727\""
        ],
        "X-ExtLoop1": "1",
        "From": "Andrei Otcheretianski <andrei.otcheretianski@intel.com>",
        "To": "hostap@lists.infradead.org",
        "Cc": "vamsin@qti.qualcomm.com,\n\tmaheshkkv@google.com,\n\tAvraham Stern <avraham.stern@intel.com>",
        "Subject": "[PATCH 70/97] NAN: Update peers schedule when local schedule changes",
        "Date": "Tue, 28 Apr 2026 23:06:11 +0300",
        "Message-ID": "<20260428200639.40243-71-andrei.otcheretianski@intel.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260428200639.40243-1-andrei.otcheretianski@intel.com>",
        "References": "<20260428200639.40243-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-20260428_210947_987159_6EE2FD8D ",
        "X-CRM114-Status": "GOOD (  16.54  )",
        "X-Spam-Score": "-4.4 (----)",
        "X-Spam-Report": "SpamAssassin version 4.0.1 on casper.infradead.org summary:\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.16 listed in list.dnswl.org]\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n -0.0 SPF_PASS               SPF: sender matches SPF record\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\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: Avraham Stern <avraham.stern@intel.com>\n\nAdd API to update the NAN module about local schedule changes.\nWhen the local schedule changes, update all the peers schedules\naccording to the new schedule. If the new schedule doesn't meet\nthe NDL with a peer, all NDPs with this peer will be disconnected.\n\nSigned-off-by: Avraham Stern <avraham.stern@intel.com>\n---\n src/nan/nan.c                   |  20 ++++\n src/nan/nan.h                   |   1 +\n wpa_supplicant/nan_supplicant.c | 175 +++++++++++++++++---------------\n 3 files changed, 114 insertions(+), 82 deletions(-)",
    "diff": "diff --git a/src/nan/nan.c b/src/nan/nan.c\nindex a1a72a5a31..f347588f09 100644\n--- a/src/nan/nan.c\n+++ b/src/nan/nan.c\n@@ -3362,3 +3362,23 @@ bool nan_has_active_ndp(struct nan_data *nan)\n \n \treturn false;\n }\n+\n+\n+void nan_local_sched_update(struct nan_data *nan, struct nan_schedule *sched)\n+{\n+\tstruct nan_peer *peer;\n+\n+\tif (!nan || !sched)\n+\t\treturn;\n+\n+\twpabuf_free(nan->sched.elems);\n+\tos_memcpy(&nan->sched, sched, sizeof(nan->sched));\n+\n+\tdl_list_for_each(peer, &nan->peer_list, struct nan_peer, list) {\n+\t\twpa_printf(MSG_DEBUG, \"NAN: Updating schedule for peer \" MACSTR,\n+\t\t\t   MAC2STR(peer->nmi_addr));\n+\n+\t\tif (peer->ndl && peer->ndl->state == NAN_NDL_STATE_DONE)\n+\t\t\tnan_peer_update_schedule(nan, peer, sched);\n+\t}\n+}\ndiff --git a/src/nan/nan.h b/src/nan/nan.h\nindex 7e1eb20143..1b25783506 100644\n--- a/src/nan/nan.h\n+++ b/src/nan/nan.h\n@@ -843,6 +843,7 @@ int nan_convert_sched_to_avail_attrs(struct nan_data *nan, u8 sequence_id,\n \t\t\t\t     struct nan_chan_schedule *chans,\n \t\t\t\t     struct wpabuf *buf,\n \t\t\t\t     bool include_potential);\n+void nan_local_sched_update(struct nan_data *nan, struct nan_schedule *sched);\n bool nan_peer_pairing_supported(struct nan_data *nan, const u8 *addr);\n bool nan_peer_npk_nik_caching_supported(struct nan_data *nan, const u8 *addr);\n int nan_get_peer_ndc_freq(struct nan_data *nan,\ndiff --git a/wpa_supplicant/nan_supplicant.c b/wpa_supplicant/nan_supplicant.c\nindex 116189fc91..97a7b78c2b 100644\n--- a/wpa_supplicant/nan_supplicant.c\n+++ b/wpa_supplicant/nan_supplicant.c\n@@ -1884,8 +1884,92 @@ static void nan_dump_sched_config(const char *title,\n }\n \n \n+static int\n+wpas_nan_fill_ndp_schedule_chan(struct wpa_supplicant *wpa_s,\n+\t\t\t\tstruct nan_schedule *sched, int map_id,\n+\t\t\t\tconst struct nan_schedule_channel *chan)\n+{\n+\tstruct nan_chan_schedule *chan_sched;\n+\tconst u8 *bitmap_data;\n+\tsize_t bitmap_len;\n+\n+\t/* None of these should happen */\n+\tif (!chan->time_bitmap) {\n+\t\twpa_printf(MSG_INFO,\n+\t\t\t   \"NAN: Missing time bitmap for map_id %d freq %d\",\n+\t\t\t   map_id + 1, chan->freq);\n+\t\treturn -1;\n+\t}\n+\n+\tbitmap_len = wpabuf_len(chan->time_bitmap);\n+\tbitmap_data = wpabuf_head(chan->time_bitmap);\n+\tif (bitmap_len > NAN_TIME_BITMAP_MAX_LEN) {\n+\t\twpa_printf(MSG_INFO,\n+\t\t\t   \"NAN: Time bitmap length %zu exceeds maximum %d\",\n+\t\t\t   bitmap_len, NAN_TIME_BITMAP_MAX_LEN);\n+\t\treturn -1;\n+\t}\n+\n+\tchan_sched = &sched->chans[sched->n_chans++];\n+\tchan_sched->map_id = map_id + 1;\n+\tchan_sched->chan.freq = chan->freq;\n+\tchan_sched->chan.center_freq1 = chan->center_freq1;\n+\tchan_sched->chan.center_freq2 = chan->center_freq2;\n+\tchan_sched->chan.bandwidth = chan->bandwidth;\n+\n+\tchan_sched->committed.duration = wpa_s->nan_capa.slot_duration >> 5;\n+\tchan_sched->committed.period = ffs(wpa_s->nan_capa.schedule_period) - 7;\n+\tchan_sched->committed.offset = 0;\n+\tchan_sched->committed.len = bitmap_len;\n+\tos_memcpy(chan_sched->committed.bitmap, bitmap_data, bitmap_len);\n+\twpa_printf(MSG_DEBUG,\n+\t\t   \"NAN: NDP schedule channel added: map_id=%d freq=%d center_freq1=%d center_freq2=%d bandwidth=%d\",\n+\t\t   chan_sched->map_id,\n+\t\t   chan_sched->chan.freq,\n+\t\t   chan_sched->chan.center_freq1,\n+\t\t   chan_sched->chan.center_freq2,\n+\t\t   chan_sched->chan.bandwidth);\n+\n+\treturn 0;\n+}\n+\n+\n static void wpas_nan_fill_ndp_schedule(struct wpa_supplicant *wpa_s,\n-\t\t\t\t       struct nan_schedule *sched);\n+\t\t\t\t       struct nan_schedule *sched)\n+{\n+\tint map_id;\n+\n+\tos_memset(sched, 0, sizeof(*sched));\n+\n+\t/* Fill the NAN schedule structure from the schedule config */\n+\tfor (map_id = 0; map_id < MAX_NAN_RADIOS; map_id++) {\n+\t\tint i;\n+\t\tstruct nan_schedule_config *sched_cfg =\n+\t\t\t&wpa_s->nan_sched[map_id];\n+\n+\t\tfor (i = 0; i < wpa_s->nan_sched[map_id].num_channels; i++) {\n+\t\t\tstruct nan_schedule_channel *chan;\n+\n+\t\t\tchan = &sched_cfg->channels[i];\n+\t\t\tif (wpas_nan_fill_ndp_schedule_chan(wpa_s, sched,\n+\t\t\t\t\t\t\t    map_id, chan)\n+\t\t\t    < 0)\n+\t\t\t\treturn;\n+\t\t}\n+\t}\n+\n+\t/* Mark all supported radios - for potential availability */\n+\tsched->map_ids_bitmap = (BIT(wpa_s->nan_capa.num_radios) - 1) << 1;\n+}\n+\n+\n+static void wpas_nan_update_local_schedule(struct wpa_supplicant *wpa_s)\n+{\n+\tstruct nan_schedule sched;\n+\n+\twpas_nan_fill_ndp_schedule(wpa_s, &sched);\n+\tnan_local_sched_update(wpa_s->nan, &sched);\n+}\n \n \n /* Parse format NAN_SCHED_CONFIG_MAP map_id=<id> [freq:bitmap_hex]..\n@@ -1945,10 +2029,15 @@ int wpas_nan_sched_config_map(struct wpa_supplicant *wpa_s, const char *cmd)\n \n \tpos = os_strchr(cmd + 7, ' ');\n \tif (!pos) {\n-\t\tclear_sched_config(&wpa_s->nan_sched[map_id - 1]);\n \t\twpa_printf(MSG_INFO,\n \t\t\t   \"NAN: Missing freq:timebitmap pairs - cleanup schedule\");\n-\t\treturn wpa_drv_nan_config_schedule(wpa_s, map_id, sched_cfg);\n+\t\tret = wpa_drv_nan_config_schedule(wpa_s, map_id, sched_cfg);\n+\t\tif (!ret) {\n+\t\t\tclear_sched_config(&wpa_s->nan_sched[map_id - 1]);\n+\t\t\twpas_nan_update_local_schedule(wpa_s);\n+\t\t}\n+\n+\t\treturn ret;\n \t}\n \n \tshared_freqs = os_calloc(wpa_s->num_multichan_concurrent,\n@@ -2149,6 +2238,7 @@ int wpas_nan_sched_config_map(struct wpa_supplicant *wpa_s, const char *cmd)\n \t\tos_memcpy(&wpa_s->nan_sched[map_id - 1], sched_cfg,\n \t\t\t  sizeof(*sched_cfg));\n \t\tos_memset(sched_cfg, 0, sizeof(*sched_cfg));\n+\t\twpas_nan_update_local_schedule(wpa_s);\n \t}\n out:\n \tos_free(bf_total);\n@@ -2201,85 +2291,6 @@ static struct wpabuf * wpas_nan_build_ndp_elems(struct wpa_supplicant *wpa_s)\n }\n \n \n-static int\n-wpas_nan_fill_ndp_schedule_chan(struct wpa_supplicant *wpa_s,\n-\t\t\t\tstruct nan_schedule *sched, int map_id,\n-\t\t\t\tconst struct nan_schedule_channel *chan)\n-{\n-\tstruct nan_chan_schedule *chan_sched;\n-\tconst u8 *bitmap_data;\n-\tsize_t bitmap_len;\n-\n-\t/* None of these should happen */\n-\tif (!chan->time_bitmap) {\n-\t\twpa_printf(MSG_INFO,\n-\t\t\t   \"NAN: Missing time bitmap for map_id %d freq %d\",\n-\t\t\t   map_id + 1, chan->freq);\n-\t\treturn -1;\n-\t}\n-\n-\tbitmap_len = wpabuf_len(chan->time_bitmap);\n-\tbitmap_data = wpabuf_head(chan->time_bitmap);\n-\tif (bitmap_len > NAN_TIME_BITMAP_MAX_LEN) {\n-\t\twpa_printf(MSG_INFO,\n-\t\t\t   \"NAN: Time bitmap length %zu exceeds maximum %d\",\n-\t\t\t   bitmap_len, NAN_TIME_BITMAP_MAX_LEN);\n-\t\treturn -1;\n-\t}\n-\n-\tchan_sched = &sched->chans[sched->n_chans++];\n-\tchan_sched->map_id = map_id + 1;\n-\tchan_sched->chan.freq = chan->freq;\n-\tchan_sched->chan.center_freq1 = chan->center_freq1;\n-\tchan_sched->chan.center_freq2 = chan->center_freq2;\n-\tchan_sched->chan.bandwidth = chan->bandwidth;\n-\n-\tchan_sched->committed.duration = wpa_s->nan_capa.slot_duration >> 5;\n-\tchan_sched->committed.period = ffs(wpa_s->nan_capa.schedule_period) - 7;\n-\tchan_sched->committed.offset = 0;\n-\tchan_sched->committed.len = bitmap_len;\n-\tos_memcpy(chan_sched->committed.bitmap, bitmap_data, bitmap_len);\n-\twpa_printf(MSG_DEBUG,\n-\t\t   \"NAN: NDP schedule channel added: map_id=%d freq=%d center_freq1=%d center_freq2=%d bandwidth=%d\",\n-\t\t   chan_sched->map_id,\n-\t\t   chan_sched->chan.freq,\n-\t\t   chan_sched->chan.center_freq1,\n-\t\t   chan_sched->chan.center_freq2,\n-\t\t   chan_sched->chan.bandwidth);\n-\n-\treturn 0;\n-}\n-\n-\n-static void wpas_nan_fill_ndp_schedule(struct wpa_supplicant *wpa_s,\n-\t\t\t\t       struct nan_schedule *sched)\n-{\n-\tint map_id;\n-\n-\tos_memset(sched, 0, sizeof(*sched));\n-\n-\t/* Fill the NAN schedule structure from the schedule config */\n-\tfor (map_id = 0; map_id < MAX_NAN_RADIOS; map_id++) {\n-\t\tint i;\n-\t\tstruct nan_schedule_config *sched_cfg =\n-\t\t\t&wpa_s->nan_sched[map_id];\n-\n-\t\tfor (i = 0; i < wpa_s->nan_sched[map_id].num_channels; i++) {\n-\t\t\tstruct nan_schedule_channel *chan;\n-\n-\t\t\tchan = &sched_cfg->channels[i];\n-\t\t\tif (wpas_nan_fill_ndp_schedule_chan(wpa_s, sched,\n-\t\t\t\t\t\t\t    map_id, chan)\n-\t\t\t    < 0)\n-\t\t\t\treturn;\n-\t\t}\n-\t}\n-\n-\t/* Mark all supported radios - for potential availability */\n-\tsched->map_ids_bitmap = (BIT(wpa_s->nan_capa.num_radios) - 1) << 1;\n-}\n-\n-\n static int wpas_nan_get_ndc_map_id(struct wpa_supplicant *wpa_s,\n \t\t\t\t   const struct nan_peer_schedule *peer_sched,\n \t\t\t\t   u8 peer_map_id)\n",
    "prefixes": [
        "70/97"
    ]
}