Show a cover letter.

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

{
    "id": 2222236,
    "url": "http://patchwork.ozlabs.org/api/1.1/covers/2222236/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/cover/20260411003959.30959-1-emil.s.tantilov@intel.com/",
    "project": {
        "id": 28,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/28/?format=api",
        "name": "Linux PCI development",
        "link_name": "linux-pci",
        "list_id": "linux-pci.vger.kernel.org",
        "list_email": "linux-pci@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260411003959.30959-1-emil.s.tantilov@intel.com>",
    "date": "2026-04-11T00:39:57",
    "name": "[iwl-next,0/2] Introduce IDPF PCI callbacks",
    "submitter": {
        "id": 1670,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/1670/?format=api",
        "name": "Emil Tantilov",
        "email": "emil.s.tantilov@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/cover/20260411003959.30959-1-emil.s.tantilov@intel.com/mbox/",
    "series": [
        {
            "id": 499518,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/499518/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=499518",
            "date": "2026-04-11T00:39:58",
            "name": "Introduce IDPF PCI callbacks",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499518/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2222236/comments/",
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-52360-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-pci@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=ibWeOg6j;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-52360-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=\"ibWeOg6j\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=192.198.163.16",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=intel.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=intel.com"
        ],
        "Received": [
            "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\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 4fsvvk1lq1z1yGb\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 11 Apr 2026 10:40:02 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id BDEF7301F9B0\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 11 Apr 2026 00:39:53 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 1D5112D7DCE;\n\tSat, 11 Apr 2026 00:39:53 +0000 (UTC)",
            "from mgamail.intel.com (mgamail.intel.com [192.198.163.16])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id BA1E82C235E;\n\tSat, 11 Apr 2026 00:39:51 +0000 (UTC)",
            "from orviesa010.jf.intel.com ([10.64.159.150])\n  by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 10 Apr 2026 17:39:51 -0700",
            "from estantil-desk.jf.intel.com ([10.166.241.24])\n  by orviesa010.jf.intel.com with ESMTP; 10 Apr 2026 17:39:50 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775867993; cv=none;\n b=NTILhv5H2mRbjmtFdxsrfh+Az+wpF+fVFZxeonfZjaOc4fHgleSmp3ePDi8ouP62Ypb/rhN/QiHcxbp99FLDTkzRSSNojTIYwbHqEPHhQbi2Xj0EwdYxbOjgvJrUW4gif3s+yb1CkAEXZezWuVW4oySgUwsSj6AsJ3s6hnUzIZE=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775867993; c=relaxed/simple;\n\tbh=bf9rDhhDLQYlfFaN1vUUcDJylrZVM5QUZxazTmomJjk=;\n\th=From:To:Cc:Subject:Date:Message-Id;\n b=AwkV+2jFyeQMcQpUKE0ePh3lTwoZdzdCblhMpWJsHsu78txt+YvApW7zy8JMXp2RGfVnkg6o1XIEznCHWZyjVo3da5j8Ojrfwu4VFtDdxWJ06YRg2uPabOEsl30DJh+LKbkZ/CVn8cbYua1BjoTdJE3k6SwtBu64CfXoYVz5iOU=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=intel.com;\n spf=pass smtp.mailfrom=intel.com;\n dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com\n header.b=ibWeOg6j; arc=none smtp.client-ip=192.198.163.16",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n  t=1775867991; x=1807403991;\n  h=from:to:cc:subject:date:message-id;\n  bh=bf9rDhhDLQYlfFaN1vUUcDJylrZVM5QUZxazTmomJjk=;\n  b=ibWeOg6jfS20eq2abjON0wPFKGLEYTtrKVwmc0T1W6yt4QDjbccmUG/u\n   sLV73yCj55C5piBmme6nWiLSeuMOf8s7RuNj0wUkbxtB89mzmPkbQQgIX\n   BtLyZIVEZIBHvh9NdpMR8OwHUrmNQ5VOc6muiHPI7gG7H7tANAChA2q/v\n   OVBGQ9An4mi2reF3rBkgWi7KSYKR+TKhYBx7Q/+pAvfiivESysWFbI0xe\n   mV5NLDWlmh8irk5DoMZoLURcyJ5/YK+iL+ReRTFql6fGc6536Ci8ezMZ/\n   cIrjT7NRcMCSAxNEvqUfBX8vZING0SzUKqOex2LaVCezA3tvYJ3G7I1zs\n   Q==;",
        "X-CSE-ConnectionGUID": [
            "ASF6wV8RRLCBtk/yTaE1xw==",
            "x13t4GsSRpywFZyyfr8xKg=="
        ],
        "X-CSE-MsgGUID": [
            "cV5oz8JrQFucRzShy6wiEw==",
            "hbH5JdM/S0qunHamrYpX+g=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6800,10657,11755\"; a=\"64423717\"",
            "E=Sophos;i=\"6.23,172,1770624000\";\n   d=\"scan'208\";a=\"64423717\"",
            "E=Sophos;i=\"6.23,172,1770624000\";\n   d=\"scan'208\";a=\"228392487\""
        ],
        "X-ExtLoop1": "1",
        "From": "Emil Tantilov <emil.s.tantilov@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Cc": "netdev@vger.kernel.org,\n\tprzemyslaw.kitszel@intel.com,\n\tjay.bhat@intel.com,\n\tivan.d.barrera@intel.com,\n\taleksandr.loktionov@intel.com,\n\tlarysa.zaremba@intel.com,\n\tanthony.l.nguyen@intel.com,\n\tandrew+netdev@lunn.ch,\n\tdavem@davemloft.net,\n\tedumazet@google.com,\n\tkuba@kernel.org,\n\tpabeni@redhat.com,\n\taleksander.lobakin@intel.com,\n\tlinux-pci@vger.kernel.org,\n\tmadhu.chittim@intel.com,\n\tdecot@google.com,\n\twillemb@google.com,\n\tsheenamo@google.com",
        "Subject": "[PATCH iwl-next 0/2] Introduce IDPF PCI callbacks",
        "Date": "Fri, 10 Apr 2026 17:39:57 -0700",
        "Message-Id": "<20260411003959.30959-1-emil.s.tantilov@intel.com>",
        "X-Mailer": "git-send-email 2.17.2",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-pci@vger.kernel.org",
        "List-Id": "<linux-pci.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>"
    },
    "content": "This series implements PCI callbacks for the purpose of handling FLR and\nPCI errors in the IDPF driver.\n\nThe first patch removes the conditional deinitialization of the mailbox in\nthe idpf_vc_core_deinit() function. Aside from being redundant, due to the\nshutdown of the mailbox after a reset is detected, the check was also\npreventing the driver from sending messages to stop and disable the vports\nand queues on FW side, which is needed for the prepare phase of the FLR\nhandling.\n\nThe second patch implements the PCI callbacks. The logic here follows\nthe reset handling done in idpf_init_hard_reset(), but is split in\nprepare and resume phases, where idpf_reset_prepare() stops all driver\noperations and the resume callback attempt to recover following the\nreset or the PCI error event.\n\nTesting hints:\n1. FLR via sysfs:\necho 1 > /sys/class/net/<ifname>/device/reset\n\nPreviously this would have been handled by idpf_init_hard_reset() as the\ndriver detects the reset. Now it will be done by the PCI err callbacks,\nso this is the easiest way to test the reset_prepare/resume path.\n\n2. PCI errors can be tested with aer-inject:\n./aer-inject -s 83:00.0 examples/<error_type>\n\n3. Stress testing can be done by combining various callbacks with the\nreset from step 1:\necho 1 > /sys/class/net/<if>/device/reset& ethtool -L <if> combined 8\nethtool -L <if> combined 16& echo 1 > /sys/class/net/<if>/device/reset\n\nEmil Tantilov (2):\n  idpf: remove conditonal MBX deinit from idpf_vc_core_deinit()\n  idpf: implement pci error handlers\n\n drivers/net/ethernet/intel/idpf/idpf.h        |   3 +\n drivers/net/ethernet/intel/idpf/idpf_lib.c    |  13 +-\n drivers/net/ethernet/intel/idpf/idpf_main.c   | 114 ++++++++++++++++++\n .../net/ethernet/intel/idpf/idpf_virtchnl.c   |  11 +-\n 4 files changed, 129 insertions(+), 12 deletions(-)"
}