From nobody Fri Oct 2 09:21:38 2026 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D237377553; Mon, 3 Aug 2026 10:07:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785751664; cv=none; b=nRu/zxAfhbg24X3Jd0CUB/chO99P5M78gCbcktBQdS3gQU908IaLskmuaPUlcx9udcKyctHKX9yAJ1K+jDp9kZ1COojL/SQj1thp70HvvetEiD9Tv5o1PQNRM6jqc0HogJWZjWM1eypdx6zMo0hxgcmpT2vkHllbz0FiSC4MCfw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785751664; c=relaxed/simple; bh=l8VHo3beb+c1Ya5TU1gZOZ/9kYIgeg3YtqpughHy37Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZAfe8VPkNTK48CmB9l0Y8V+2NN+t2welgxMSskSBT1QwzexWKtkgYuhaWkLFjUL4E852TOcGPH624cv15waKdAWK16zMdvLqiiazml23GKPtMdk0jY+PYVmPGot4mAxlDmkRhFvdYldk3hzYxSYAnMG6C5puNEP5yIS5ntYmubg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=cU7whaSy; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="cU7whaSy" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672Llk3o167346; Mon, 3 Aug 2026 10:07:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=KAPt8yphSUrRziQzp GGyIEBbbgEz71A+Y8k1zEJtR2s=; b=cU7whaSyGX7lIJa/jtgKIcGezsIKwOjiJ N0NZqrMJAT7cwy5yyQYjJKCrlqPecgo8ZHoAP5IlUuXhMqSjAaylZOTXbZMB8MU0 DgkxyercvJ/zfH8ivnCDQAAOOsTThlMGOdNM5etWf7D0x128Y18JEUDLi5Bxz61P ++iNC1+46QouYVM9uiDmqI8xOos3sFVP6CwlqFlziH+gHiuUeO7BBnwNCwDltJqW JcWp1PN3SIc7HcOZgOGDezG/bz/JNDhVJBK13AmiJSj12Oxg+srTR5oWxW4wtnWK ebkLZygJcuEt0Hj/PiMXkCYVPFnbbhomLlRlF9oNqvvEJPpVDAa5w== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4fs77g007e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 03 Aug 2026 10:07:28 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 6739uQjv013967; Mon, 3 Aug 2026 10:07:28 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4fsv4jvv2b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 03 Aug 2026 10:07:28 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 673A7Ojl41681248 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 3 Aug 2026 10:07:24 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 259512006E; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 00AD22006C; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 3 Aug 2026 10:07:23 +0000 (GMT) From: Heiko Carstens To: Alexander Gordeev , Sven Schnelle , Vasily Gorbik , Christian Borntraeger , Niklas Schnelle , Gerd Bayer Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] s390/pci: Rework __zpci_event_error() to remove conditional locking Date: Mon, 3 Aug 2026 12:07:21 +0200 Message-ID: <20260803100723.2343688-2-hca@linux.ibm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260803100723.2343688-1-hca@linux.ibm.com> References: <20260803100723.2343688-1-hca@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDA4NyBTYWx0ZWRfX1iymzai4PP5Q +tpvmH3Ro1i2kvTGudF3BaFEwQhuVkWzPESTRFEfwJC+pUdXszmrKA20F089Y/ffRG4XjuJMAnR coyTKVZNX1ezoG1v3WXQiRWtLogUinxIpCKl/jJnPXN2OMOhFPg4tprZHXFQHP4dQOCNVvSBpLy TBsyB6xBZLMCLHPeHESAYgwvM6cfrmZvvHVZkYksKqNFuBfmUuHaPK5DWUgmLhOOhX2zwziFKGe veuPMdM0WghMLwrj8dHKGMxfeKuXPNXK9iF+rdIZf9RWLrdlML1abZVM5PcFqTzDxMYYlS30Tyw YRf2fWp9lSz1xyjTR5PRlXheRsFZw+vcLBPov4kXUQ+7xm8iphWztuVMn+ogi0UIwhJahYWVf1O rYxGG6CIUsoFJce7+tTJG6CZ57i4xTwmEoUhPPxjUddMjawBiezecPVdbz3+4KmnYZRfOtyAaSq nWiEMPCp6bG+QIAnV9w== X-Authority-Analysis: v=2.4 cv=WIFPmHsR c=1 sm=1 tr=0 ts=6a706861 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNF1IyMAAAA:8 a=m4_1mmLPwvc7V99NFaoA:9 X-Proofpoint-GUID: fWsDUe7asRME3VIFEMxmyjym9k-Vdg2- X-Proofpoint-ORIG-GUID: fWsDUe7asRME3VIFEMxmyjym9k-Vdg2- X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDA4NyBTYWx0ZWRfXxsYGm6wc9z09 6+Yc8k4S68XFBT/+/o4S/oj2zb+QgDG1liMoMqIQw6zxz8GS4JEtWSQKTaawwvEWAayVDjnWgoP ClLvFOGImgis5HqqUUT4MjqVUKzpUWM= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_06,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 malwarescore=0 suspectscore=0 clxscore=1015 impostorscore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030087 Content-Type: text/plain; charset="utf-8" Clang's compiler based static context analysis does not work with locks that are conditionally taken like in __zpci_event_error(): arch/s390/pci/pci_event.c:320:2: warning: mutex 'get_zdev_by_fid(ccdf->fid)= .state_lock' is not held on every path through here [-Wthread-safety-analysis] Given that code which takes locks conditionally can be considered suboptimal rework __zpci_event_error() to get rid of this. Signed-off-by: Heiko Carstens --- arch/s390/pci/pci_event.c | 43 ++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c index 839bd91c056e..48fa26dcbee1 100644 --- a/arch/s390/pci/pci_event.c +++ b/arch/s390/pci/pci_event.c @@ -288,6 +288,12 @@ static void zpci_event_io_failure(struct pci_dev *pdev= , pci_channel_state_t es) pci_dev_unlock(pdev); } =20 +static void __zpci_event_print_error(struct pci_dev *pdev, struct zpci_ccd= f_err *ccdf) +{ + pr_err("%s: Event 0x%x reports an error for PCI function 0x%x\n", + pdev ? pci_name(pdev) : "n/a", ccdf->pec, ccdf->fid); +} + static void __zpci_event_error(struct zpci_ccdf_err *ccdf) { struct zpci_dev *zdev =3D get_zdev_by_fid(ccdf->fid); @@ -301,24 +307,24 @@ static void __zpci_event_error(struct zpci_ccdf_err *= ccdf) zpci_err("error CCDF:\n"); zpci_err_hex(ccdf, sizeof(*ccdf)); =20 - if (zdev) { - mutex_lock(&zdev->state_lock); - rc =3D clp_refresh_fh(zdev->fid, &fh); - if (rc) - goto no_pdev; - if (!fh || ccdf->fh !=3D fh) { - /* Ignore events with stale handles */ - zpci_dbg(3, "err fid:%x, fh:%x (stale %x)\n", - ccdf->fid, fh, ccdf->fh); - goto no_pdev; - } - zpci_update_fh(zdev, ccdf->fh); - if (zdev->zbus->bus) - pdev =3D pci_get_slot(zdev->zbus->bus, zdev->devfn); - } + if (!zdev) + return __zpci_event_print_error(pdev, ccdf); =20 - pr_err("%s: Event 0x%x reports an error for PCI function 0x%x\n", - pdev ? pci_name(pdev) : "n/a", ccdf->pec, ccdf->fid); + mutex_lock(&zdev->state_lock); + rc =3D clp_refresh_fh(zdev->fid, &fh); + if (rc) + goto no_pdev; + if (!fh || ccdf->fh !=3D fh) { + /* Ignore events with stale handles */ + zpci_dbg(3, "err fid:%x, fh:%x (stale %x)\n", + ccdf->fid, fh, ccdf->fh); + goto no_pdev; + } + zpci_update_fh(zdev, ccdf->fh); + if (zdev->zbus->bus) + pdev =3D pci_get_slot(zdev->zbus->bus, zdev->devfn); + + __zpci_event_print_error(pdev, ccdf); =20 if (!pdev) goto no_pdev; @@ -340,8 +346,7 @@ static void __zpci_event_error(struct zpci_ccdf_err *cc= df) } pci_dev_put(pdev); no_pdev: - if (zdev) - mutex_unlock(&zdev->state_lock); + mutex_unlock(&zdev->state_lock); zpci_zdev_put(zdev); } =20 --=20 2.53.0 From nobody Fri Oct 2 09:21:38 2026 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D129C386C08; Mon, 3 Aug 2026 10:07:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785751654; cv=none; b=ejX3oBHlE6nYxeS4TmGIhekrj1zN12g1v2XjtnO/0khUMuGo8upB+ul1jzaQ8kUF9T0abACDrJ34kKURjf6UQBu/IIjPX0HdgXC1de1JpNbqLwOHEOptAMKQ2CqMFf/qRmDlBUs17vQdmwA+a9U1HwDBYzGRR6UcWa+R5XvDgC8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785751654; c=relaxed/simple; bh=WPpYU1JRSBfx+3nWUrNfOWryKLSsdwsCr/qQT8nKpNo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SioRXludKSdU8iDhcum4YUS9mpO2/Nh4MhW7lzGlgPiJVezZEC27Zuc4F/XXx6ihD0RHBnut2HrBXpwz9rEddhsIIIIVBO588ENM2SGi7pOgZqfJpcyRYOqLtdhebJvCyZB3pcea6GgD49ucgwya55JD1ocSYQlWJ1Y9EDTEbbs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=nz/H6C6U; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="nz/H6C6U" Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672LmUAO161465; Mon, 3 Aug 2026 10:07:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=ZxULG+iMsllEfePWg xOi+3Fkqa7qVOEvHsN8hfJXOfU=; b=nz/H6C6UyYEgj5dy72zDiwuZTDVdLYsxE GezuMHLB3Pe3FtKo5TivfIU6IeRdJPaBd0KNKfBBTqx5IS00kvOdiRxMDi518xoB 4TqbdsckwwxJoU6Q5Zf8ERDDLHjzuIRMQjD2n30PU5oRWt/yHLVo/3+eYfu2WYMF +IXSn9QFeCYiBUYVt98oXs1y2I0e3Rd2RBxkgRnDI1dGIkY+fBgaeozoutYSsUuf ll8m+hBJAmwP8h4HxPATT/YcAI4pdwZyIxdhN2TB8qfWL6sAuX9eqqY12YScsap/ LLV3aVQEI8vU7RWVnwvCeUU/E9B7dpgfPpmaZUUkRSnO+a/0RJW3w== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4fs67hg4fk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 03 Aug 2026 10:07:29 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 6739uIui013927; Mon, 3 Aug 2026 10:07:28 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4fsv4jvv2d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 03 Aug 2026 10:07:28 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 673A7O3541681250 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 3 Aug 2026 10:07:24 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4F39B2006C; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2A8CF20071; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) From: Heiko Carstens To: Alexander Gordeev , Sven Schnelle , Vasily Gorbik , Christian Borntraeger , Niklas Schnelle , Gerd Bayer Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] s390/pci: Rework__zpci_event_availability() to remove conditional locking Date: Mon, 3 Aug 2026 12:07:22 +0200 Message-ID: <20260803100723.2343688-3-hca@linux.ibm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260803100723.2343688-1-hca@linux.ibm.com> References: <20260803100723.2343688-1-hca@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDA4NyBTYWx0ZWRfX8LdBP6zxOLsd RoKh/a8Xl0PGBmA4ba3eiyFEdyEZpri8Qf+CfX2FNUIGjpc/HILxeTwrK5EAWN7SxKbw+qvFaO7 Fh14+irsbNh/kUMLdrKrG+/J74RB9lY= X-Authority-Analysis: v=2.4 cv=I7VVgtgg c=1 sm=1 tr=0 ts=6a706861 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=Y2IxJ9c9Rs8Kov3niI8_:22 a=VnNF1IyMAAAA:8 a=BBtgEbCYtjC8VUYlbdgA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDA4NyBTYWx0ZWRfX+lXuqSUAkoof V7hH8tBQ6AG3gfeKg53nNwSnckUM/q+hCCc/o2UIjAW7wo9dpemQILXpymXmN3HyrXI8CZw3Ux3 v9+YpicpX41PwFMUCFn6xM5jB24ezdUf43tm9hsa5AEwJl4jvr4ZSWpsp6YhA2enh1KXAYyMoKC hbpUJVkb5ILRZwqn3Hwujk0VBhjAus0gGz8Y89jQpJTkJnGyWJHWugPWe1j1NdyFi8q3D0sV+Iu Tgs9t0ey27qIVqSkvpNzASLeqLkKL6ezKofMJtU5/jVs9h44CDNmWDmrpIjEZ5l3XacOJpoGpZd vEQv5ikZAE0E8R9QLqekQ9Z6vw99gpqUhCaKNmanKB3JQbNahaUWyl0jbC/QtjCAzCvW79HsOaT DxwpSYP/kh6EKakdIyPnJCaX8SZRq2W1/76N5cvjDv3DrU2pAVsj4bLT40z4KC65VB3J3aPcoX/ FIzvkO+PvDtSdL05MKg== X-Proofpoint-ORIG-GUID: ycbvApULNoc29MMyHrCIfZCLxfs6FhwL X-Proofpoint-GUID: ycbvApULNoc29MMyHrCIfZCLxfs6FhwL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_06,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030087 Content-Type: text/plain; charset="utf-8" Clang's compiler based static context analysis does not work with locks that are conditionally taken like in __zpci_event_availability(): arch/s390/pci/pci_event.c:402:10: warning: mutex 'get_zdev_by_fid(ccdf->fid= ).state_lock' is not held on every path through here [-Wthread-safety-analysis] Given that code which takes locks conditionally can be considered suboptimal rework __zpci_event_availability() to get rid of this. Signed-off-by: Heiko Carstens --- arch/s390/pci/pci_event.c | 103 ++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 54 deletions(-) diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c index 48fa26dcbee1..37acee2c7d25 100644 --- a/arch/s390/pci/pci_event.c +++ b/arch/s390/pci/pci_event.c @@ -390,18 +390,21 @@ static void zpci_event_reappear(struct zpci_dev *zdev) static void __zpci_event_availability(struct zpci_ccdf_avail *ccdf) { struct zpci_dev *zdev =3D get_zdev_by_fid(ccdf->fid); - bool existing_zdev =3D !!zdev; enum zpci_state state; =20 zpci_dbg(3, "avl fid:%x, fh:%x, pec:%x\n", ccdf->fid, ccdf->fh, ccdf->pec); =20 - if (existing_zdev) - mutex_lock(&zdev->state_lock); + if (ccdf->pec =3D=3D 0x0306) { + /* 0x308 or 0x302 for multiple devices */ + zpci_remove_reserved_devices(); + zpci_scan_devices(); + return; + } =20 - switch (ccdf->pec) { - case 0x0301: /* Reserved|Standby -> Configured */ - if (!zdev) { + if (!zdev) { + switch (ccdf->pec) { + case 0x0301: /* Reserved|Standby -> Configured */ zdev =3D zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_CONFIGUR= ED); if (IS_ERR(zdev)) break; @@ -409,18 +412,9 @@ static void __zpci_event_availability(struct zpci_ccdf= _avail *ccdf) kfree(zdev); break; } - } else { - if (zdev->state =3D=3D ZPCI_FN_STATE_RESERVED) - zpci_event_reappear(zdev); - /* the configuration request may be stale */ - else if (zdev->state !=3D ZPCI_FN_STATE_STANDBY) - break; - zdev->state =3D ZPCI_FN_STATE_CONFIGURED; - } - zpci_scan_configured_device(zdev, ccdf->fh); - break; - case 0x0302: /* Reserved -> Standby */ - if (!zdev) { + zpci_scan_configured_device(zdev, ccdf->fh); + break; + case 0x0302: /* Reserved -> Standby */ zdev =3D zpci_create_device(ccdf->fid, ccdf->fh, ZPCI_FN_STATE_STANDBY); if (IS_ERR(zdev)) break; @@ -428,53 +422,54 @@ static void __zpci_event_availability(struct zpci_ccd= f_avail *ccdf) kfree(zdev); break; } - } else { - if (zdev->state =3D=3D ZPCI_FN_STATE_RESERVED) - zpci_event_reappear(zdev); - zpci_update_fh(zdev, ccdf->fh); + break; } + return; + } + + mutex_lock(&zdev->state_lock); + switch (ccdf->pec) { + case 0x0301: /* Reserved|Standby -> Configured */ + if (zdev->state =3D=3D ZPCI_FN_STATE_RESERVED) + zpci_event_reappear(zdev); + /* the configuration request may be stale */ + else if (zdev->state !=3D ZPCI_FN_STATE_STANDBY) + break; + zdev->state =3D ZPCI_FN_STATE_CONFIGURED; + zpci_scan_configured_device(zdev, ccdf->fh); + break; + case 0x0302: /* Reserved -> Standby */ + if (zdev->state =3D=3D ZPCI_FN_STATE_RESERVED) + zpci_event_reappear(zdev); + zpci_update_fh(zdev, ccdf->fh); break; case 0x0303: /* Deconfiguration requested */ - if (zdev) { - /* The event may have been queued before we configured - * the device. - */ - if (zdev->state !=3D ZPCI_FN_STATE_CONFIGURED) - break; - zpci_update_fh(zdev, ccdf->fh); - zpci_deconfigure_device(zdev); - } + /* The event may have been queued before we configured + * the device. + */ + if (zdev->state !=3D ZPCI_FN_STATE_CONFIGURED) + break; + zpci_update_fh(zdev, ccdf->fh); + zpci_deconfigure_device(zdev); break; case 0x0304: /* Configured -> Standby|Reserved */ - if (zdev) { - /* The event may have been queued before we configured - * the device.: - */ - if (zdev->state =3D=3D ZPCI_FN_STATE_CONFIGURED) - zpci_event_hard_deconfigured(zdev, ccdf->fh); - /* The 0x0304 event may immediately reserve the device */ - if (!clp_get_state(zdev->fid, &state) && - state =3D=3D ZPCI_FN_STATE_RESERVED) { - zpci_device_reserved(zdev); - } + /* The event may have been queued before we configured + * the device.: + */ + if (zdev->state =3D=3D ZPCI_FN_STATE_CONFIGURED) + zpci_event_hard_deconfigured(zdev, ccdf->fh); + /* The 0x0304 event may immediately reserve the device */ + if (!clp_get_state(zdev->fid, &state) && + state =3D=3D ZPCI_FN_STATE_RESERVED) { + zpci_device_reserved(zdev); } break; - case 0x0306: /* 0x308 or 0x302 for multiple devices */ - zpci_remove_reserved_devices(); - zpci_scan_devices(); - break; case 0x0308: /* Standby -> Reserved */ - if (!zdev) - break; zpci_device_reserved(zdev); break; - default: - break; - } - if (existing_zdev) { - mutex_unlock(&zdev->state_lock); - zpci_zdev_put(zdev); } + mutex_unlock(&zdev->state_lock); + zpci_zdev_put(zdev); } =20 void zpci_event_availability(void *data) --=20 2.53.0 From nobody Fri Oct 2 09:21:38 2026 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D2C1377A87; Mon, 3 Aug 2026 10:07:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785751664; cv=none; b=FRenj0cjhpXRpKabYEeHf7J8Q8pbC5wempNnTKePZbDKzkXuazJy1Zn2x9MoNt9QSNcoOmSQ1yfL2KpK7lguiCS/jASb0UVMK1re8FkZ1jx5feb/vf9gC+fLpKx1Zme9sWkf8jN8vvnvrlsTXepSyUPnJrKeD1uJFfJAcG0lX6w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785751664; c=relaxed/simple; bh=6CuPsNKDYTTktILCQvu+n3fNh2A5ABYDCWla/BB4GbE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rq9rysmPc+88n1yWQ61usb4TY3tHBDmtEasX9n5tlOlYgyACdEJM1USpn5z6OUQEj054vsfJXFLLIYmWqEIqw4qlP2r4ve2zz+UD45wxm09GxYs2V37KiGRp5ZE9pVQVagD1qJLYPMjX3BSYTj5HcTKyg7+qC/Ico+MAALPRPoE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=gdcLuqNN; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="gdcLuqNN" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 672LmLkr168876; Mon, 3 Aug 2026 10:07:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=fH0S1TN4EtwwR5ukB s8k/yYVc+ejtC9ELYeDMRd3FVs=; b=gdcLuqNNYewgvQBJWHbxTCZovsDuIMRJ+ CrMPmKnhJvXsEO1MqkaVi59cAOL0IqVBb7AhnTyXJSYMEaPFNS9f1wanUicRZMFD Sm5LWNyx9UgSltZy4de/moHIYhZYRJHi9cwGqjSzUbNAOsAdJeGoznn+t6Bls5Sd 2fMX8L5P6mzyf1/58k8Oq54BL/StMpW2Ibipy+mJSOJ4Ai7877WRI0kqDWVdi0hn p+xrfXYFGZW/7yxy/oEkcRfo9QbcczoUFOxiX6skAScYlGbhxDEVUhwU+bTCLr4g 2D23ikBKUWzoPOw0iNFKAs2gtxqbMavKxcZW2xBQAqZER3HVG6vnw== Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4fs77g007g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 03 Aug 2026 10:07:29 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 6739ug5W020665; Mon, 3 Aug 2026 10:07:28 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4fsugvvxm6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 03 Aug 2026 10:07:28 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 673A7ORN41681252 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 3 Aug 2026 10:07:24 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8100C2006E; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 548E720073; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 3 Aug 2026 10:07:24 +0000 (GMT) From: Heiko Carstens To: Alexander Gordeev , Sven Schnelle , Vasily Gorbik , Christian Borntraeger , Niklas Schnelle , Gerd Bayer Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] s390/pci: Enable CONTEXT_ANALYSIS Date: Mon, 3 Aug 2026 12:07:23 +0200 Message-ID: <20260803100723.2343688-4-hca@linux.ibm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260803100723.2343688-1-hca@linux.ibm.com> References: <20260803100723.2343688-1-hca@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODAzMDA4NyBTYWx0ZWRfXyYfnU92436GN 6QAkLjKe1fouRSJ7zq6jgw/Ahdwwz/S3r9Lmn5avITLIlxIYFTTUuu59uKf92oMeSYGdGsiZ6HY vAPI6PFd+U179RgXmriI9MznceTy4b1UVT9TI+FHxtLS3d1V5SOkRQ0/t+2hpdzDeDfPbTDZX5e 1s1HW/7zT+YcIuRmwYKoc0A32df5UkwjZkxDg/Dw5sEPGgJ6FHYSMrcXiYquqn/4C0MBOjE12hU 2YBGXPdJ+n2scVC+ZK9K+sRO/o/DiX4dK2SuqujGNDLYXuYLnDWu4Rxx7QsFyWsFQo3Kuv5cAWz Y9PzS8kZrPxTe9aZRxUGMl6T0LO4SD7/bLkZ0yPfe+U+XofT1aggKTN+w8GFoXYXBuPj6CdzIIs PjfW7FSCPWL+64oO9X+baewYN8didoAWJg3xylrQQAMwDzUDHGeAN6rHSu3C3RNv+9Ken7ox1oG 7YezvKDI+tJELxEWhZg== X-Authority-Analysis: v=2.4 cv=WIFPmHsR c=1 sm=1 tr=0 ts=6a706861 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=Sv0fKeRqtYgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=V8glGbnc2Ofi9Qvn3v5h:22 a=VnNF1IyMAAAA:8 a=BVUoiYlOf69TRVgg-NoA:9 X-Proofpoint-GUID: lQo43vmkiHTV7MSdWE8yI34PgzdMo6nk X-Proofpoint-ORIG-GUID: lQo43vmkiHTV7MSdWE8yI34PgzdMo6nk X-Proofpoint-Spam-Info: AW1haW4tMjYwODAzMDA4NyBTYWx0ZWRfX6jzh3WkyTkg5 TghYXYPfv4JxrUNwswESoQ3hXFoRedlvVbFNUATu+bB3EsAk7EA9eOVqqVao499kTk858UdNoM3 srI3qMM7V4LNq46m3LPdrolsqHbPepo= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-02_06,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 malwarescore=0 suspectscore=0 clxscore=1015 impostorscore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608030087 Content-Type: text/plain; charset="utf-8" Enable CONTEXT_ANALYSIS since s390's pci code compiles now without warnings. Signed-off-by: Heiko Carstens --- arch/s390/pci/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/s390/pci/Makefile b/arch/s390/pci/Makefile index 1810e0944a4e..b8be1316491b 100644 --- a/arch/s390/pci/Makefile +++ b/arch/s390/pci/Makefile @@ -3,6 +3,8 @@ # Makefile for the s390 PCI subsystem. # =20 +CONTEXT_ANALYSIS :=3D y + obj-$(CONFIG_PCI) +=3D pci.o pci_irq.o pci_clp.o \ pci_event.o pci_debug.o pci_insn.o pci_mmio.o \ pci_bus.o pci_kvm_hook.o pci_report.o pci_fixup.o --=20 2.53.0