get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2209825,
    "url": "http://patchwork.ozlabs.org/api/patches/2209825/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260312135257.71610-1-advoretsky@gmail.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260312135257.71610-1-advoretsky@gmail.com>",
    "list_archive_url": null,
    "date": "2026-03-12T13:52:55",
    "name": "[net,v3] igb: remove napi_synchronize() in igb_down()",
    "commit_ref": null,
    "pull_url": null,
    "state": "under-review",
    "archived": false,
    "hash": "844cf41f603927593d5580c72f42bc7267a9acae",
    "submitter": {
        "id": 92805,
        "url": "http://patchwork.ozlabs.org/api/people/92805/?format=api",
        "name": "Alex Dvoretsky",
        "email": "advoretsky@gmail.com"
    },
    "delegate": {
        "id": 109701,
        "url": "http://patchwork.ozlabs.org/api/users/109701/?format=api",
        "username": "anguy11",
        "first_name": "Anthony",
        "last_name": "Nguyen",
        "email": "anthony.l.nguyen@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260312135257.71610-1-advoretsky@gmail.com/mbox/",
    "series": [
        {
            "id": 495617,
            "url": "http://patchwork.ozlabs.org/api/series/495617/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=495617",
            "date": "2026-03-12T13:52:55",
            "name": "[net,v3] igb: remove napi_synchronize() in igb_down()",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/495617/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2209825/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2209825/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=Se6jCYwP;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\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 4fWpwl2jgJz1y04\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Mar 2026 00:53:09 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 7DF3E61CBD;\n\tThu, 12 Mar 2026 13:53:06 +0000 (UTC)",
            "from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id zKoJLGfbLvrx; Thu, 12 Mar 2026 13:53:05 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id A3EB061649;\n\tThu, 12 Mar 2026 13:53:05 +0000 (UTC)",
            "from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists1.osuosl.org (Postfix) with ESMTP id D194D282\n for <intel-wired-lan@lists.osuosl.org>; Thu, 12 Mar 2026 13:53:03 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id C37978473A\n for <intel-wired-lan@lists.osuosl.org>; Thu, 12 Mar 2026 13:53:03 +0000 (UTC)",
            "from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 8T2asV3-pQsf for <intel-wired-lan@lists.osuosl.org>;\n Thu, 12 Mar 2026 13:53:03 +0000 (UTC)",
            "from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com\n [IPv6:2a00:1450:4864:20::12f])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 9051484739\n for <intel-wired-lan@lists.osuosl.org>; Thu, 12 Mar 2026 13:53:02 +0000 (UTC)",
            "by mail-lf1-x12f.google.com with SMTP id\n 2adb3069b0e04-59e4989dacdso1242947e87.1\n for <intel-wired-lan@lists.osuosl.org>; Thu, 12 Mar 2026 06:53:02 -0700 (PDT)",
            "from router-0001 ([2a01:4f9:3080:2e0f::2])\n by smtp.gmail.com with ESMTPSA id\n 2adb3069b0e04-5a156033a29sm954117e87.37.2026.03.12.06.52.58\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 12 Mar 2026 06:52:58 -0700 (PDT)"
        ],
        "X-Virus-Scanned": [
            "amavis at osuosl.org",
            "amavis at osuosl.org"
        ],
        "X-Comment": "SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ",
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 smtp3.osuosl.org A3EB061649",
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 9051484739"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1773323585;\n\tbh=cLa3hjm81+l0iihx+Vd/908jpbxZZUZC18PWTXWrhu0=;\n\th=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=Se6jCYwP5X/8A+cX+eIFND6dbwC/GPbY+ZsxeHO2Rr76ZLbZKYSKma2CSsZkmxCNc\n\t Qh6Nh/3OcJL/EJB3FNQr5AOUOrlSNTLJ4+0Z/30kWEoc5zAjpLw7GH3cjgHUZ4l8DJ\n\t yZjucSfzpQK3bpwzSA9XAgDJNYC3y6Lraf3p0M6lLs6AH04lFUzs3OtVq6lVRu1YgV\n\t Bqa9MgSPze8mA+AsYYJVd7OsLHt0/BXygmASzbm+cfj5zYATvsVrjxUe9ca0Lz2DzU\n\t t0cwO9TCwPumzRqK0mKfpPM1Fw/nrXlmP2EmVsavLau1hBbriCWDe3Ao8CsJB6D7ei\n\t U48UwurTtoRGQ==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom;\n client-ip=2a00:1450:4864:20::12f; helo=mail-lf1-x12f.google.com;\n envelope-from=advoretsky@gmail.com; receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 9051484739",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1773323579; x=1773928379;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=cLa3hjm81+l0iihx+Vd/908jpbxZZUZC18PWTXWrhu0=;\n b=spM38X9eJu3t6kfF5VFkHbK8HbwoUEtsHiLXbkefiFrW22MU0ifUAWVvlqXSMyyLHK\n zJdjZR+4bLmCgGWBXGZQHdhJX3Zda9Rf9ljucQTE1ebzHfJtWR3xPsfdfaYteYmQCPiu\n WUabPCJQ1QEyrirQ03kVYOQdZsiYbMyUDQMKrZs9FgYsIXS/P2b3F1mmbL+BbVDpJHur\n 0OhvRUJZM3ZwFW1TsL49VoxDLVxreulb58pOWCqKbMJMHVQY5EcrqbxOcKeuafdgjXLj\n 20hxoas46idzu9Cg+CnmBfU7YKMMoEBLhYfIvu1A2cjbmBdfqvucYSg/wwZgv1mOu6OF\n 4PdA==",
        "X-Gm-Message-State": "AOJu0YxPo+uehqrjOqGtrhoq9zsh2nTro6eUB52J1wyAL82R3dgA61s8\n TLXQl4Ez3d4zFEOHmLtX7Pc/kPDaIwhGOA5XdIFNsW3xiDYEZV+5fvJAslyvVY7q",
        "X-Gm-Gg": "ATEYQzx2D6ic8cku7v6wXd/ha+fu2YvMXm33nlvP5MaWZEP+Ytrv6R7XnsJuXrTXfJJ\n mitrDr6iZGn5pr9r0vNBt4LnpLpdqoHxU0k+xxxyjwZYC2rHMdF2rbhxwiOcsBL8jG/0lGDcfIn\n IZO/3qt4XnVP0+e4tm2bFObO/mCyi0VXjtY2Fv1c4fDmqLXztbzNaW0kydjFBGWOn3vkaD6OVqp\n zRuw6GqBgNNe1A7giO1PoKuXH3RWXHaQc7rbZOc979OH+mRJ4d2Aa+fjzL8ymTrjY7JrQ90mITe\n yN3xr9XMcRhNo+o8UzwWeQ+fLamsLFMng2rdYxYU2pbOROLuikbIVMi5CdRSXlu86lRKhaB9416\n uuq80zXbYAtJsrLPHC2ZkGywcH3NTru5JGC89n67DyE/JZsUz7gnrUyhTxOi/5MiNaUFE6v2gjK\n UT+YJo",
        "X-Received": "by 2002:a05:6512:1441:10b0:5a1:34d2:b6db with SMTP id\n 2adb3069b0e04-5a156bb980dmr1557195e87.1.1773323579188;\n Thu, 12 Mar 2026 06:52:59 -0700 (PDT)",
        "From": "Alex Dvoretsky <advoretsky@gmail.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Cc": "netdev@vger.kernel.org, maciej.fijalkowski@intel.com,\n aleksandr.loktionov@intel.com, anthony.l.nguyen@intel.com,\n przemyslaw.kitszel@intel.com, kurt@linutronix.de, stable@vger.kernel.org,\n Alex Dvoretsky <advoretsky@gmail.com>",
        "Date": "Thu, 12 Mar 2026 14:52:55 +0100",
        "Message-ID": "<20260312135257.71610-1-advoretsky@gmail.com>",
        "X-Mailer": "git-send-email 2.51.0",
        "In-Reply-To": "\n <DS4PPF7551E65520F55DBD20987BCAE3C6FE544A@DS4PPF7551E6552.namprd11.prod.outlook.com>",
        "References": "\n <DS4PPF7551E65520F55DBD20987BCAE3C6FE544A@DS4PPF7551E6552.namprd11.prod.outlook.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1773323579; x=1773928379; darn=lists.osuosl.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=cLa3hjm81+l0iihx+Vd/908jpbxZZUZC18PWTXWrhu0=;\n b=MeVzDCTVX/31aE+j3/EnHITd3uSutphN+o5RkOasli63DvajT6mWpyhrT3ZS30sy0B\n Jo4VmnK/PhMu24stLCU82cCulluZx9vx/WVR1CLCwAYnYKcul33aOcg7AMIN2mRqCrzC\n eBLB5BSHcTjFCB8LRbCc9l+M7uJGIcSkZeiDWvXT0zJ7uAWcC9E3DHGfM4UhaiT+bppV\n dys70kica+CSa7m8mg2p/VklcuU1YwRMiJj+IibcW7u5DVh0D379med/DREtYU7GzQ+e\n 9ov97E8WAeGHSXD8578RHlW+A/sGxXzY7brQWiq3B/2Fuv8xX7FZW6ubxTe2dik2iYKa\n HViA==",
        "X-Mailman-Original-Authentication-Results": [
            "smtp1.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=gmail.com",
            "smtp1.osuosl.org;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.a=rsa-sha256 header.s=20230601 header.b=MeVzDCTV"
        ],
        "Subject": "[Intel-wired-lan] [PATCH net v3] igb: remove napi_synchronize() in\n igb_down()",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "When an AF_XDP zero-copy application terminates abruptly (e.g., kill -9),\nthe XSK buffer pool is destroyed but NAPI polling continues.\nigb_clean_rx_irq_zc() repeatedly returns the full budget, preventing\nnapi_complete_done() from clearing NAPI_STATE_SCHED.\n\nigb_down() calls napi_synchronize() before napi_disable() for each queue\nvector. napi_synchronize() spins waiting for NAPI_STATE_SCHED to clear,\nwhich never happens. igb_down() blocks indefinitely, the TX watchdog\nfires, and the TX queue remains permanently stalled.\n\nnapi_disable() already handles this correctly: it sets NAPI_STATE_DISABLE.\nAfter a full-budget poll, __napi_poll() checks napi_disable_pending(). If\nset, it forces completion and clears NAPI_STATE_SCHED, breaking the loop\nthat napi_synchronize() cannot.\n\nnapi_synchronize() was added in commit 41f149a285da (\"igb: Fix possible\npanic caused by Rx traffic arrival while interface is down\").\nnapi_disable() provides stronger guarantees: it prevents further\nscheduling and waits for any active poll to exit.\nOther Intel drivers (ixgbe, ice, i40e) use napi_disable() without a\npreceding napi_synchronize() in their down paths.\n\nRemove redundant napi_synchronize() call and reorder napi_disable()\nbefore igb_set_queue_napi() so the queue-to-NAPI mapping is only\ncleared after polling has fully stopped.\n\nFixes: 2c6196013f84 (\"igb: Add AF_XDP zero-copy Rx support\")\nCc: stable@vger.kernel.org\nReviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>\nSigned-off-by: Alex Dvoretsky <advoretsky@gmail.com>\n---\nAgreed, that looks cleaner — no reason to touch the NAPI plumbing while\nthe poll could still be running.\n\nv3:\n  - Reorder napi_disable() before igb_set_queue_napi() per Aleksandr\n    Loktionov's suggestion.\n\nv2:\n  - Replaced 3-patch series with single napi_synchronize() removal,\n    per Maciej Fijalkowski's suggestion. napi_disable() handles the\n    stuck NAPI poll via NAPI_STATE_DISABLE, making the __IGB_DOWN\n    checks in igb_clean_rx_irq_zc() and igb_tx_timeout(), and the\n    transition guards in igb_xdp_setup(), all unnecessary.\n  - Tested on Intel I210 (igb) with AF_XDP zero-copy: full E2E\n    traffic suite, graceful shutdown, and 5x kill-9 stress cycles.\n    Zero tx_timeout events.\n\n drivers/net/ethernet/intel/igb/igb_main.c | 3 +--\n 1 file changed, 1 insertion(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c\nindex 7c41e32256fa..0793842cb937 100644\n--- a/drivers/net/ethernet/intel/igb/igb_main.c\n+++ b/drivers/net/ethernet/intel/igb/igb_main.c\n@@ -2203,9 +2203,8 @@ void igb_down(struct igb_adapter *adapter)\n \n \tfor (i = 0; i < adapter->num_q_vectors; i++) {\n \t\tif (adapter->q_vector[i]) {\n-\t\t\tnapi_synchronize(&adapter->q_vector[i]->napi);\n-\t\t\tigb_set_queue_napi(adapter, i, NULL);\n \t\t\tnapi_disable(&adapter->q_vector[i]->napi);\n+\t\t\tigb_set_queue_napi(adapter, i, NULL);\n \t\t}\n \t}\n \n",
    "prefixes": [
        "net",
        "v3"
    ]
}