Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2225835/?format=api
{ "id": 2225835, "url": "http://patchwork.ozlabs.org/api/patches/2225835/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260421163031.704-7-alifm@linux.ibm.com/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/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, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260421163031.704-7-alifm@linux.ibm.com>", "list_archive_url": null, "date": "2026-04-21T16:30:30", "name": "[v14,6/7] vfio/pci: Add a reset_done callback for vfio-pci driver", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "7315297e95d4cb932fd136822eb3210b6072f91e", "submitter": { "id": 73785, "url": "http://patchwork.ozlabs.org/api/people/73785/?format=api", "name": "Farhan Ali", "email": "alifm@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260421163031.704-7-alifm@linux.ibm.com/mbox/", "series": [ { "id": 500852, "url": "http://patchwork.ozlabs.org/api/series/500852/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=500852", "date": "2026-04-21T16:30:25", "name": "Error recovery for vfio-pci devices on s390x", "version": 14, "mbox": "http://patchwork.ozlabs.org/series/500852/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2225835/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2225835/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-52857-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=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=DPUBhD66;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=linux-pci+bounces-52857-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com\n header.b=\"DPUBhD66\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=148.163.158.5", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linux.ibm.com" ], "Received": [ "from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\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 4g0SZz5sKHz1yGt\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 02:33:15 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 254353022ABE\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 16:31:08 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 70A9F37DE83;\n\tTue, 21 Apr 2026 16:30:50 +0000 (UTC)", "from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\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 EAB6237C900;\n\tTue, 21 Apr 2026 16:30:48 +0000 (UTC)", "from pps.filterd (m0360072.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63LDOaQe1535627;\n\tTue, 21 Apr 2026 16:30:44 GMT", "from ppma12.dal12v.mail.ibm.com\n (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dm2k6mgut-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tTue, 21 Apr 2026 16:30:43 +0000 (GMT)", "from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma12.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63LGKLwJ019172;\n\tTue, 21 Apr 2026 16:30:43 GMT", "from smtprelay03.dal12v.mail.ibm.com ([172.16.1.5])\n\tby ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dmm9q1kss-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tTue, 21 Apr 2026 16:30:43 +0000 (GMT)", "from smtpav03.wdc07v.mail.ibm.com (smtpav03.wdc07v.mail.ibm.com\n [10.39.53.230])\n\tby smtprelay03.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63LGUfeR17564194\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tTue, 21 Apr 2026 16:30:42 GMT", "from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id BA26258054;\n\tTue, 21 Apr 2026 16:30:41 +0000 (GMT)", "from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 535A55805A;\n\tTue, 21 Apr 2026 16:30:40 +0000 (GMT)", "from IBM-D32RQW3.ibm.com (unknown [9.61.248.17])\n\tby smtpav03.wdc07v.mail.ibm.com (Postfix) with ESMTP;\n\tTue, 21 Apr 2026 16:30:40 +0000 (GMT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776789050; cv=none;\n b=k7NSmmP7ylt9FNKgXhNgrnpLOkesvGD0aKSJaPsZsq4c2mKmbM7dU0VOfO3iUoAUDrSIN6vmyBOQLY4Uwl3G3e7WBdOuBIOZ/2tzS5wn0baoO1LeMC70EbwW4hYtcCwLQIk9MYO4xpmpFfWkYKcOOaFjvGMISxm4PioCXT5TBP0=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776789050; c=relaxed/simple;\n\tbh=RQ7upiRfX+foiPulhHXu+Aw1uutRmHWJ0l3TcJW8bxM=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=OuDJ31ovQP4Hw7+WeoqJx4sIYKJEyhPky5S9KH7qklDk96VD1ZoHgxGFtKJyehR3ZAHddAEpT/0dzi+TMLuLTGKsIXV8P+intpd7ZFl1whA1wCFpl37vy2wHutfKyCMLtI8UH1rxqdqQIE+ggpoF3oicel1EBvOYInQQZ49++uk=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n spf=pass smtp.mailfrom=linux.ibm.com;\n dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com\n header.b=DPUBhD66; arc=none smtp.client-ip=148.163.158.5", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:in-reply-to:message-id\n\t:mime-version:references:subject:to; s=pp1; bh=l4yp/nvZGr9Da+6Zm\n\tRXwpQEFsXLYyw/698zFD8SAETM=; b=DPUBhD66kiqq/kwL+P1j3F0iILdYzGEZ4\n\tsbYaPeGni1lRLyqaZiP5f45FjDn8ADlUOyEYPTUHC+TZ5mPM7Zqdb8+RK389JFmU\n\tV8g3rQPl7jGSfVbi5LW6GLf6yGGKeS+t9fWV583tfuG4TXJ/MWrjUEoyLQoUWoVa\n\tuEFUX8f60BfT8Hp1tURNakFyX2u023nRGHRkhjks9XT5zivvkbaa4TWBMhaJtGHt\n\tgNYU2GU28iN/u7O4HNpcCdvjfuuhj/yVZQbJIyQidtNni9ybSh6CHOHBRogA8eIC\n\tSxr+SmZb3wD4Pg6HROUhlUhWTQjca02dAbxR+BWaNUKd9Qj9bglvg==", "From": "Farhan Ali <alifm@linux.ibm.com>", "To": "linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-pci@vger.kernel.org", "Cc": "helgaas@kernel.org, lukas@wunner.de, alex@shazbot.org, clg@redhat.com,\n alifm@linux.ibm.com, schnelle@linux.ibm.com, mjrosato@linux.ibm.com,\n Julian Ruess <julianr@linux.ibm.com>", "Subject": "[PATCH v14 6/7] vfio/pci: Add a reset_done callback for vfio-pci\n driver", "Date": "Tue, 21 Apr 2026 09:30:30 -0700", "Message-ID": "<20260421163031.704-7-alifm@linux.ibm.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260421163031.704-1-alifm@linux.ibm.com>", "References": "<20260421163031.704-1-alifm@linux.ibm.com>", "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>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-TM-AS-GCONF": "00", "X-Authority-Analysis": "v=2.4 cv=L78theT8 c=1 sm=1 tr=0 ts=69e7a633 cx=c_pps\n a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=r1p2_3pzAAAA:8\n a=hcTHx3Z5Akp3fEzgVBYA:9 a=r_pkcD-q9-ctt7trBg_g:22", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDIxMDE2MiBTYWx0ZWRfX5ee+VRIVOOLt\n kuKTJ367wG23M2vEOJTnRHfIzs1SgRhSdUjBei7kf6nrlWiK3zUl/QrAEBEzKOIqqbdxkx8aiD8\n uLNZQoHvrRclxKJrJoh1AGdMBQfm+yNlVWhYQ2iYRfPo3u6yXDtVg21Vbmb9vchF7pQyqwwh705\n lQ7R0p72eovMKokIiCLv34j7UIAHQYYEd98zpyDCOhWcNzjlTpstRuUHv4zEgJjzG7fFYfjUuqE\n sFUtRNYXE6AtuTmgWwkJFOSaQ8nbc2Uj15+bWFyaTw0bPVx/nnUA4ILTtfOX61GgJ6v3d/K2A90\n 8qQ9suOqVaK+YqjtUyD6DOv2iVAME7w4Jszzup8RH2B56oAMa4RFSXR1ngkaFqs80VUWxhEy/+c\n 9lYFZ43PBcLtSosat+79/FIq81HFsuIkZGoYGSG8jzb+i94dZhODcTX9uH862grOCAWN/DMumyc\n BTiHdxqY9jKZ3CYXtpA==", "X-Proofpoint-GUID": "Q0EArPZk0kl_4LXLPh35A7puV7dgxk0g", "X-Proofpoint-ORIG-GUID": "Q0EArPZk0kl_4LXLPh35A7puV7dgxk0g", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-21_03,2026-04-21_02,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0\n lowpriorityscore=0 adultscore=0 clxscore=1015 malwarescore=0 phishscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604210162" }, "content": "On error recovery for a PCI device bound to vfio-pci driver, we want to\nrecover the state of the device to its last known saved state. The callback\nrestores the state of the device to its initial saved state.\n\nReviewed-by: Julian Ruess <julianr@linux.ibm.com>\nReviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>\nAcked-by: Alex Williamson <alex@shazbot.org>\nReviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>\nSigned-off-by: Farhan Ali <alifm@linux.ibm.com>\n---\n drivers/vfio/pci/vfio_pci_core.c | 12 ++++++++++++\n 1 file changed, 12 insertions(+)", "diff": "diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c\nindex 5403730786a1..4485d85e4419 100644\n--- a/drivers/vfio/pci/vfio_pci_core.c\n+++ b/drivers/vfio/pci/vfio_pci_core.c\n@@ -2255,6 +2255,17 @@ pci_ers_result_t vfio_pci_core_aer_err_detected(struct pci_dev *pdev,\n }\n EXPORT_SYMBOL_GPL(vfio_pci_core_aer_err_detected);\n \n+static void vfio_pci_core_aer_reset_done(struct pci_dev *pdev)\n+{\n+\tstruct vfio_pci_core_device *vdev = dev_get_drvdata(&pdev->dev);\n+\n+\tif (!vdev->pci_saved_state)\n+\t\treturn;\n+\n+\tpci_load_saved_state(pdev, vdev->pci_saved_state);\n+\tpci_restore_state(pdev);\n+}\n+\n int vfio_pci_core_sriov_configure(struct vfio_pci_core_device *vdev,\n \t\t\t\t int nr_virtfn)\n {\n@@ -2319,6 +2330,7 @@ EXPORT_SYMBOL_GPL(vfio_pci_core_sriov_configure);\n \n const struct pci_error_handlers vfio_pci_core_err_handlers = {\n \t.error_detected = vfio_pci_core_aer_err_detected,\n+\t.reset_done = vfio_pci_core_aer_reset_done,\n };\n EXPORT_SYMBOL_GPL(vfio_pci_core_err_handlers);\n \n", "prefixes": [ "v14", "6/7" ] }