get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2229889,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2229889/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/hostap/patch/20260428200639.40243-77-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-77-andrei.otcheretianski@intel.com>",
    "date": "2026-04-28T20:06:17",
    "name": "[76/97] NAN: Add Unaligned Schedule attribute to the list of parsed attributes",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "f703cc0ae8539938b03498c0d095a921af89fc88",
    "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-77-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/2229889/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2229889/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=TGd9aWmt;\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=ibxuftMP;\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 4g4s9n4rL8z1yJH\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 06:15:09 +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 1wHopK-00000002Ltw-14zq;\n\tTue, 28 Apr 2026 20:14:38 +0000",
            "from mgamail.intel.com ([198.175.65.16])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wHokl-00000002CcZ-1Rqi\n\tfor hostap@lists.infradead.org;\n\tTue, 28 Apr 2026 20:10:07 +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:12 -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:11 -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=3YpuIA8KOPlFRfPFBF5Nc8lP+NYvggObdJySeBJ2hNI=; b=TGd9aWmtLDj5Or\n\tnzFWGsLzR9urFMyYX/lvAET1bHoHXC/0v9K0hbPZuDDqKDlEMdys2MdvlP2TM0ut462/xH6FMSiUt\n\tsaXyTr9olLIje4MLrN5dInYnApArtO2Zr+WoU1sUoQDhy5lPdPqakx/BMhujthWZnhmDcY1sUkZBQ\n\trGualISgCS+RkNRzNfwdYoAP8VnHVt4f5PA8GoDxgpYMQ5YpB/38PErJrnnOuWxPtpr9ILdFldN85\n\tUgut3tJeI3cC5iRiZ5NnTjQrRZUpocNa/9/OUCKVtmAMUJTDgMzyl/m4zSuWwueRBsPwDx9iBoYeC\n\tv4mh0AfxfiahBFVeOZfQ==;",
            "v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1777406995; x=1808942995;\n  h=from:to:cc:subject:date:message-id:in-reply-to:\n   references:mime-version:content-transfer-encoding;\n  bh=jHZkgQYFsXxlhaz2lWuU7+iWdrgaFezxLKWjyH8P7fE=;\n  b=ibxuftMPkbAmZ3hCduAk90Bi7y0WpXnikhNQEVCxRWS1MxBvVQaTxpXJ\n   bgh0q2sv/XG/oMMsckOU2vDf6gUGSbQrkDWUhnKPDqbGF6zu9BlnF5UsP\n   OJn4zRUBgGcxD8XmiCFSdRY9WYtcykqk6tFgbVSE/H3rCo3QoGhXjrjOi\n   RD6yhNl+Zr/MtqSAajGTxkazjQXNx1P6KliZ9GY62i5qOKTErF2d8srBg\n   Df/K1wvu/RCPjmfNA5OO7B7t96lox9/jf6hhC8hBvdX+k+Ek6J4SbUraO\n   KWm9vc/LQdp/0boBuyQsfvtMa09D924R2RgUkDqJuihcDNglE4mDQ383T\n   Q==;"
        ],
        "X-CSE-ConnectionGUID": [
            "MgoGGX2wTwu29HMas+2geA==",
            "NWH8PxvsTC+n8jV4YOSNiA=="
        ],
        "X-CSE-MsgGUID": [
            "24Sb2WYiQheV0QC6vhR9Ig==",
            "epTLkqsHTz2JYmQI091azQ=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6800,10657,11770\"; a=\"78519536\"",
            "E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"78519536\"",
            "E=Sophos;i=\"6.23,204,1770624000\";\n   d=\"scan'208\";a=\"257610790\""
        ],
        "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 76/97] NAN: Add Unaligned Schedule attribute to the list of\n parsed attributes",
        "Date": "Tue, 28 Apr 2026 23:06:17 +0300",
        "Message-ID": "<20260428200639.40243-77-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_130955_484899_183C6EC7 ",
        "X-CRM114-Status": "GOOD (  12.49  )",
        "X-Spam-Score": "-4.5 (----)",
        "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: Avraham Stern <avraham.stern@intel.com> Parse\n Unaligned\n    Schedule attributes in nan_parse_attrs(). Save them as a list since a\n frame\n    may contain more than one Unaligned Schedule attribute. Signed-off-by:\n Avraham\n    Stern <avraham.stern@intel.com> --- src/common/nan_defs.h | 37\n +++++++++++++++++++++++++++++++++++++\n    src/nan/nan_i.h | 1 + src/nan/nan_util.c | 15 ++++++++++++++- 3 files\n change\n    [...]\n Content analysis details:   (-4.5 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_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             Message has at least one valid DKIM or DK\n signature\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.1 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\nParse Unaligned Schedule attributes in nan_parse_attrs(). Save them\nas a list since a frame may contain more than one Unaligned Schedule\nattribute.\n\nSigned-off-by: Avraham Stern <avraham.stern@intel.com>\n---\n src/common/nan_defs.h | 37 +++++++++++++++++++++++++++++++++++++\n src/nan/nan_i.h       |  1 +\n src/nan/nan_util.c    | 15 ++++++++++++++-\n 3 files changed, 52 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/src/common/nan_defs.h b/src/common/nan_defs.h\nindex dfc602a42a..1ecc8bd2f7 100644\n--- a/src/common/nan_defs.h\n+++ b/src/common/nan_defs.h\n@@ -406,6 +406,43 @@ struct nan_avail {\n \tu8 optional[0];\n } STRUCT_PACKED;\n \n+/* See Table 110 (Attribute Control field format for the Unaligned Schedule\n+ * attribute)\n+ */\n+#define NAN_UNALIGNED_SCHED_CTRL_SCHED_ID_MASK (BIT(0) | BIT(1) | BIT(2) | \\\n+\t\t\t\t\t\tBIT(3))\n+\n+/* See Table 111 (ULW Overwrite field format) */\n+#define NAN_ULW_OVERWRITE_ALL        BIT(0)\n+#define NAN_ULW_OVERWRITE_MAP_ID_POS 1\n+#define NAN_ULW_OVERWRITE_MAP_ID_MASK (BIT(1) | BIT(2) | BIT(3) | BIT(4))\n+\n+/* See Table 112 (ULW Control field format) */\n+#define NAN_ULW_CTRL_TYPE_POS                0\n+#define NAN_ULW_CTRL_TYPE_MASK               (BIT(0) | BIT(1))\n+#define NAN_ULW_CTRL_TYPE_BAND_ID            0\n+#define NAN_ULW_CTRL_TYPE_CHAN_ENTRY         1\n+#define NAN_ULW_CTRL_TYPE_CHAN_ENTRY_WITH_AUX 2\n+#define NAN_ULW_CTRL_CHAN_AVAIL              BIT(2)\n+#define NAN_ULW_CTRL_RX_NSS_POS              3\n+#define NAN_ULW_CTRL_RX_NSS_MASK             (BIT(3) | BIT(4) | BIT(5) | BIT(6))\n+\n+/* See Table 109 (Unaligned Schedule attribute format). ID and length are not\n+ * included.\n+ */\n+struct nan_unaligned_sched {\n+\tu8 sched_id;\n+\tu8 seq_id;\n+\tle32 start_time;\n+\tle32 duration;\n+\tle32 period;\n+\tu8 count_down;\n+\tu8 ulw_overwrite;\n+\n+\t/* followed by optional fields (ulw control and band/channel entry) */\n+\tu8 optional[0];\n+} STRUCT_PACKED;\n+\n #define NAN_SCHED_ENTRY_MAP_MASK (BIT(0) | BIT(1) | BIT(2) | BIT(3))\n \n /* Wi-Fi Aware spec v4.0, Table 104 (Schedule Entry format for the NDC\ndiff --git a/src/nan/nan_i.h b/src/nan/nan_i.h\nindex 3c8e94958c..264eaa0131 100644\n--- a/src/nan/nan_i.h\n+++ b/src/nan/nan_i.h\n@@ -620,6 +620,7 @@ struct nan_attrs {\n \tstruct dl_list serv_desc_ext;\n \tstruct dl_list avail;\n \tstruct dl_list ndc;\n+\tstruct dl_list ulw;\n \tstruct dl_list dev_capa;\n \tstruct dl_list element_container;\n \ndiff --git a/src/nan/nan_util.c b/src/nan/nan_util.c\nindex da9337092a..4283b2a6cf 100644\n--- a/src/nan/nan_util.c\n+++ b/src/nan/nan_util.c\n@@ -37,6 +37,7 @@ void nan_attrs_clear(struct nan_data *nan, struct nan_attrs *attrs)\n \tnan_attrs_clear_list(nan, &attrs->serv_desc_ext);\n \tnan_attrs_clear_list(nan, &attrs->avail);\n \tnan_attrs_clear_list(nan, &attrs->ndc);\n+\tnan_attrs_clear_list(nan, &attrs->ulw);\n \tnan_attrs_clear_list(nan, &attrs->dev_capa);\n \tnan_attrs_clear_list(nan, &attrs->element_container);\n \n@@ -67,6 +68,7 @@ int nan_parse_attrs(struct nan_data *nan, const u8 *data, size_t len,\n \tdl_list_init(&attrs->serv_desc_ext);\n \tdl_list_init(&attrs->avail);\n \tdl_list_init(&attrs->ndc);\n+\tdl_list_init(&attrs->ulw);\n \tdl_list_init(&attrs->dev_capa);\n \tdl_list_init(&attrs->element_container);\n \n@@ -135,6 +137,18 @@ int nan_parse_attrs(struct nan_data *nan, const u8 *data, size_t len,\n \t\t\tentry->len = attr_len;\n \t\t\tdl_list_add_tail(&attrs->ndc, &entry->list);\n \t\t\tbreak;\n+\t\tcase NAN_ATTR_UNALIGNED_SCHEDULE:\n+\t\t\tif (attr_len < sizeof(struct nan_unaligned_sched))\n+\t\t\t\tbreak;\n+\n+\t\t\tentry = os_malloc(sizeof(*entry));\n+\t\t\tif (!entry)\n+\t\t\t\tgoto fail;\n+\n+\t\t\tentry->ptr = pos;\n+\t\t\tentry->len = attr_len;\n+\t\t\tdl_list_add_tail(&attrs->ulw, &entry->list);\n+\t\t\tbreak;\n \t\tcase NAN_ATTR_NDL:\n \t\t\t/* Validate minimal NDL attribute length */\n \t\t\tif (attr_len < sizeof(struct ieee80211_ndl))\n@@ -243,7 +257,6 @@ int nan_parse_attrs(struct nan_data *nan, const u8 *data, size_t len,\n \t\tcase NAN_ATTR_COUNTRY_CODE:\n \t\tcase NAN_ATTR_RANGING:\n \t\tcase NAN_ATTR_CLUSTER_DISCOVERY:\n-\t\tcase NAN_ATTR_UNALIGNED_SCHEDULE:\n \t\tcase NAN_ATTR_RANGING_INFO:\n \t\tcase NAN_ATTR_RANGING_SETUP:\n \t\tcase NAN_ATTR_FTM_RANGING_REPORT:\n",
    "prefixes": [
        "76/97"
    ]
}