Show a cover letter.

GET /api/covers/2227307/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2227307,
    "url": "http://patchwork.ozlabs.org/api/covers/2227307/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/20260423130405.139568-1-jtornosm@redhat.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": "<20260423130405.139568-1-jtornosm@redhat.com>",
    "list_archive_url": null,
    "date": "2026-04-23T13:04:01",
    "name": "[net,v4,0/4] Fix i40e/ice/iavf VF bonding after netdev lock changes",
    "submitter": {
        "id": 93070,
        "url": "http://patchwork.ozlabs.org/api/people/93070/?format=api",
        "name": "Jose Ignacio Tornos Martinez",
        "email": "jtornosm@redhat.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/cover/20260423130405.139568-1-jtornosm@redhat.com/mbox/",
    "series": [
        {
            "id": 501193,
            "url": "http://patchwork.ozlabs.org/api/series/501193/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=501193",
            "date": "2026-04-23T13:04:02",
            "name": "Fix i40e/ice/iavf VF bonding after netdev lock changes",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/501193/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2227307/comments/",
    "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=msUAi4Pb;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\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 4g1bsQ19D7z1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 23:04:41 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 20AF683B88;\n\tThu, 23 Apr 2026 13:04:35 +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 3cKAb1JZVMsZ; Thu, 23 Apr 2026 13:04:30 +0000 (UTC)",
            "from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 98DC083B8B;\n\tThu, 23 Apr 2026 13:04:30 +0000 (UTC)",
            "from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n by lists1.osuosl.org (Postfix) with ESMTP id 3F26B24D\n for <intel-wired-lan@lists.osuosl.org>; Thu, 23 Apr 2026 13:04:29 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id 3076383B8A\n for <intel-wired-lan@lists.osuosl.org>; Thu, 23 Apr 2026 13:04:29 +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 ep8Lf7G7x21z for <intel-wired-lan@lists.osuosl.org>;\n Thu, 23 Apr 2026 13:04:23 +0000 (UTC)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 796AC83B87\n for <intel-wired-lan@lists.osuosl.org>; Thu, 23 Apr 2026 13:04:22 +0000 (UTC)",
            "from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-612-KVaxLk0AOguFjvtsdQIPoQ-1; Thu,\n 23 Apr 2026 09:04:18 -0400",
            "from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 88DF41954B0F; Thu, 23 Apr 2026 13:04:16 +0000 (UTC)",
            "from fedora.redhat.com (unknown [10.44.32.35])\n by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id B284A19560AB; Thu, 23 Apr 2026 13:04:09 +0000 (UTC)"
        ],
        "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 smtp1.osuosl.org 98DC083B8B",
            "OpenDKIM Filter v2.11.0 smtp1.osuosl.org 796AC83B87"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776949470;\n\tbh=VtiyJlvs5EwHGsCQK4dQU/qFxQZSwSancLkxNqodEyA=;\n\th=From:To:Cc:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From;\n\tb=msUAi4PbZcNoi0bem3oAEcSr88iHFQGdKCTOSeYgnnzXcLSLEtorqWcniexudXoFt\n\t eLJZZmPkPVDpiQw8EbukDTswrRO33RUIqlMTvtJdvT+lX2RoNMusvMWIBnnXWMYJ0W\n\t rfhz5h0zWGSTNUc8sCW5jbZxxfDLZYZKkL0IqAqNovdSEaZvermpGkRnzMx1pVfq1k\n\t 4RLWwK2mPLon2+M3S9nQ/ouuW1/D7rOTWgtt+QAKZ5ivU7DFQ/bKwgpygPCA4jTV8k\n\t GrIcWzV+UuO2rZ2xehMbbHcUNww0NbSS8qF3lC3WkC4iDgkP91ZReG9KRUcbLdlPoF\n\t LXUav6vi7vZcA==",
        "Received-SPF": "Pass (mailfrom) identity=mailfrom; client-ip=170.10.133.124;\n helo=us-smtp-delivery-124.mimecast.com; envelope-from=jtornosm@redhat.com;\n receiver=<UNKNOWN>",
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 smtp1.osuosl.org 796AC83B87",
        "X-MC-Unique": "KVaxLk0AOguFjvtsdQIPoQ-1",
        "X-Mimecast-MFC-AGG-ID": "KVaxLk0AOguFjvtsdQIPoQ_1776949456",
        "From": "Jose Ignacio Tornos Martinez <jtornosm@redhat.com>",
        "To": "netdev@vger.kernel.org",
        "Cc": "intel-wired-lan@lists.osuosl.org, przemyslaw.kitszel@intel.com,\n aleksandr.loktionov@intel.com, jacob.e.keller@intel.com, horms@kernel.org,\n jesse.brandeburg@intel.com, anthony.l.nguyen@intel.com,\n davem@davemloft.net, edumazet@google.com, kuba@kernel.org,\n pabeni@redhat.com, Jose Ignacio Tornos Martinez <jtornosm@redhat.com>",
        "Date": "Thu, 23 Apr 2026 15:04:01 +0200",
        "Message-ID": "<20260423130405.139568-1-jtornosm@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.12",
        "X-Mimecast-MFC-PROC-ID": "WIV9mAYN624bhPWa4MLUYaCoBN4Ef7027yB4ms2LA24_1776949456",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "content-type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "X-Mailman-Original-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com;\n s=mimecast20190719; t=1776949461;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=VtiyJlvs5EwHGsCQK4dQU/qFxQZSwSancLkxNqodEyA=;\n b=Of/wgQpFVFqiKFEp7xkQz3Q4lGSwtTpS1yI9ZItoDCJv8YWmIg5IZ2Uit2qya5ievydFw/\n slOJ2LfT4OsLt0RhscZ0BsPmIOfWe5pJ8TYpn9DEGAD2tzlhh42BCZQblzYbfl3fIdMH/E\n aBHPbgLEW6w29xWNmt82On01b68/T1Q=",
        "X-Mailman-Original-Authentication-Results": [
            "smtp1.osuosl.org;\n dmarc=pass (p=quarantine dis=none)\n header.from=redhat.com",
            "smtp1.osuosl.org;\n dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com\n header.a=rsa-sha256 header.s=mimecast20190719 header.b=Of/wgQpF"
        ],
        "Subject": "[Intel-wired-lan] [PATCH net v4 0/4] Fix i40e/ice/iavf VF bonding\n after netdev lock changes",
        "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": "This series fixes VF bonding failures introduced by commit ad7c7b2172c3\n(\"net: hold netdev instance lock during sysfs operations\").\n\nWhen adding VFs to a bond immediately after setting trust mode, MAC\naddress changes fail with -EAGAIN, preventing bonding setup. This\naffects both i40e (700-series) and ice (800-series) Intel NICs.\n\nThe core issue is lock contention: iavf_set_mac() is now called with the\nnetdev lock held and waits for MAC change completion while holding it.\nHowever, both the watchdog task that sends the request and the adminq_task\nthat processes PF responses also need this lock, creating a deadlock where\nneither can run, causing timeouts.\n\nAdditionally, setting VF trust triggers an unnecessary ~10 second VF reset\nin i40e driver that delays bonding setup, even though filter\nsynchronization happens naturally during normal VF operation. For ice\ndriver, the delay is not so big, but in the same way the operation is not\nnecessary.\n\nThis series:\n1. Adds safety guard to prevent MAC changes during reset or early\n   initialization (before VF is ready)\n2. Eliminates unnecessary VF reset when setting trust in i40e, resetting\n   only when ADQ cloud filters need cleanup\n3. Fixes lock contention by polling admin queue synchronously\n4. Eliminates unnecessary VF reset when setting trust in ice, resetting\n   only when MAC LLDP filters need cleanup\n\nThe key fix (patch 3/4) implements a synchronous MAC change operation\nsimilar to the approach used for ndo_change_mtu deadlock fix:\nhttps://lore.kernel.org/intel-wired-lan/20260211191855.1532226-1-poros@redhat.com/ \nInstead of scheduling work and waiting, it:\n\n- Sends the virtchnl message directly (not via watchdog)\n- Polls the admin queue hardware directly for responses\n- Processes all messages inline (including non-MAC messages)\n- Returns when complete or times out\n\nThis allows the operation to complete synchronously while holding\nnetdev_lock, without relying on watchdog or adminq_task.\n\nThe function can sleep for up to 2.5 seconds polling hardware, but this\nis acceptable since netdev_lock is per-device and only serializes\noperations on the same interface.\n\nTesting shows VF bonding now works reliably in ~5 seconds vs 15+ seconds\nbefore (i40e), without timeouts or errors (i40e and ice).\n\nTested on Intel 700-series (i40e) and 800-series (ice) dual-port NICs\nwith iavf driver.\n\nThanks to Jan Tluka <jtluka@redhat.com> and Yuying Ma <yuma@redhat.com> for\nreporting the issues.\n\nNote: The refactoring suggested in v2 review to unify polling functions\nand call iavf_virtchnl_completion() for all messages will be submitted\nseparately to net-next after this fix merges.\n\nJose Ignacio Tornos Martinez (4):\n  iavf: return EBUSY if reset in progress or not ready during MAC change\n  i40e: skip unnecessary VF reset when setting trust\n  iavf: send MAC change request synchronously\n  ice: skip unnecessary VF reset when setting trust\n---\nv4:\n  - No changes to patch 1 from v3\n  - Complete patch 2 with AI review (sashiko.dev) from Simon Horman.\n  - Complete patch 3 with the comments from Przemek Kitszel and AI review\n    from Simon Horman.\n  - Complete patch 4 with AI review (sashiko.dev) from Simon Horman and\n    issues addressed when comparing with i40e.\n  - Drop patch 5 from v3 (refactoring is postponed)\nv3: https://lore.kernel.org/netdev/20260414110006.124286-1-jtornosm@redhat.com/\n\n drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 42 ++++++++++++++++++++++++++++++++----------\n drivers/net/ethernet/intel/iavf/iavf.h             | 10 ++++++++--\n drivers/net/ethernet/intel/iavf/iavf_main.c        | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------\n drivers/net/ethernet/intel/iavf/iavf_virtchnl.c    | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------\n drivers/net/ethernet/intel/ice/ice_sriov.c         | 41 +++++++++++++++++++++++++++++++++++++----\n drivers/net/ethernet/intel/ice/ice_vf_lib.c        |  2 +-\n drivers/net/ethernet/intel/ice/ice_vf_lib.h        |  1 +\n 7 files changed, 225 insertions(+), 43 deletions(-)\n--\n2.43.0"
}