get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2222983,
    "url": "http://patchwork.ozlabs.org/api/patches/2222983/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260414065214.3085209-1-yadu.mg@oss.qualcomm.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": "<20260414065214.3085209-1-yadu.mg@oss.qualcomm.com>",
    "list_archive_url": null,
    "date": "2026-04-14T06:52:14",
    "name": "PCI: dwc: Initialize pp->lock before MSI domain registration",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "8e02f2494ebd2928e0d8ba68bca4247f837be906",
    "submitter": {
        "id": 93138,
        "url": "http://patchwork.ozlabs.org/api/people/93138/?format=api",
        "name": "Yadu M G",
        "email": "yadu.mg@oss.qualcomm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260414065214.3085209-1-yadu.mg@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 499787,
            "url": "http://patchwork.ozlabs.org/api/series/499787/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=499787",
            "date": "2026-04-14T06:52:14",
            "name": "PCI: dwc: Initialize pp->lock before MSI domain registration",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499787/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2222983/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2222983/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-52475-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=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=A0pCNWU8;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=jyZCbn1v;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-52475-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=\"A0pCNWU8\";\n\tdkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=\"jyZCbn1v\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=205.220.168.131",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com"
        ],
        "Received": [
            "from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvw225f97z1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 16:52:26 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id C96DE3015A4D\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 06:52:23 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 919EB332EBC;\n\tTue, 14 Apr 2026 06:52:23 +0000 (UTC)",
            "from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\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 2564133FE15\n\tfor <linux-pci@vger.kernel.org>; Tue, 14 Apr 2026 06:52:20 +0000 (UTC)",
            "from pps.filterd (m0279866.ppops.net [127.0.0.1])\n\tby mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63E6V9lj1479046\n\tfor <linux-pci@vger.kernel.org>; Tue, 14 Apr 2026 06:52:20 GMT",
            "from mail-pg1-f198.google.com (mail-pg1-f198.google.com\n [209.85.215.198])\n\tby mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dh87j1e9n-1\n\t(version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n\tfor <linux-pci@vger.kernel.org>; Tue, 14 Apr 2026 06:52:20 +0000 (GMT)",
            "by mail-pg1-f198.google.com with SMTP id\n 41be03b00d2f7-c769b25315eso6364284a12.2\n        for <linux-pci@vger.kernel.org>; Mon, 13 Apr 2026 23:52:20 -0700 (PDT)",
            "from hu-ymg-blr.qualcomm.com\n (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19])\n        by smtp.gmail.com with ESMTPSA id\n 41be03b00d2f7-c79219fe2d5sm12226004a12.24.2026.04.13.23.52.16\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Mon, 13 Apr 2026 23:52:18 -0700 (PDT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776149543; cv=none;\n b=k4HDCGSQ6j5gRjmXW70/p4o4BxaPGLMpD68SnQPubz6DmesoeGhWwoABpO/4zn4070BwWu3xANlNWXqPtCYmIbCFIJGGPkWApnnqo+wZ9QcGbQE0+fA4z8M/QMZd303O1LfN9zTFUrUoApKiRPesgbQyr4MsAgmXkYynMEpAxas=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776149543; c=relaxed/simple;\n\tbh=vMVlmN+3MPUtn8iSuHRsgvSPszAsXgfwV4er7Ps1Iqk=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=DsZW0x9mWtZZJH4k5u3XYklYGHxFmHoG1vngKEmuzAUYKvMWqRvnbuqrBF9ZBf/Btb4xLiI/wkD24y5J9OA3Yaqh6FIfRAZAcIRVd+Q6fk/cIy6xBwINp0oUH+5gEXfRAUrIwYpbIvmyyNKijUWHOP55XFZL2jonGxYLC8cJ6Is=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com;\n spf=pass smtp.mailfrom=oss.qualcomm.com;\n dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com\n header.b=A0pCNWU8;\n dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.b=jyZCbn1v; arc=none smtp.client-ip=205.220.168.131",
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n\tcc:content-transfer-encoding:date:from:message-id:mime-version\n\t:subject:to; s=qcppdkim1; bh=/973+ADhp7ja1pNXUALB1jgQRlOkwMbLVxA\n\tBVyNMYms=; b=A0pCNWU8PsEsJKGtzBXulmNPL2WjYWXOyLntyBOjrqNmO2z8Xe+\n\tGmS0Z4nvXh4JK810Lsf0Eqv1VkiOTVkGLjcc0ABFf7qEtwtyFyrkGM5MqWR67zKo\n\tICXk4xHzKVRIKMA9hoRH+T7mot5kjwBh5xIgPU3JFyojttCN1ob9HDk1ade44E6u\n\tS8G0p7y8JtfWr+38Qh1JxUc5ZdNW5Wn3OBE5lEKUzMtL+c4FMj0Ng4/f05v/eCc/\n\te7tXk2Mt7IG1WXu+gUPNZWeTicGg3ZigivosOczy02XjexgWNFO9XRI6EHhxv2tr\n\tDbnw+/uPPxyMfYSa5Pm2m50/ov1n57SLuig==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=oss.qualcomm.com; s=google; t=1776149540; x=1776754340;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=/973+ADhp7ja1pNXUALB1jgQRlOkwMbLVxABVyNMYms=;\n        b=jyZCbn1vcvIFJXJqL1DT9skAA3aG7cyIcmT/6e38+lLuJ8liGGUg2CjlRUK/9R0SML\n         porxNn2cpwhgFyA66IHqG6EaU19pqnHyH/JDuCgbqHeQKLEDUCVAtaCLzC+DxtYtwGRd\n         Wqd0xOvxamDQme8HTfCJTxP2sIULRkh+Z9PQsUKnJPU5vJPcGg401bnw3ZcAnTjETQkr\n         Diav8p9rqdZFtAsKM0XDqefYEK/OaAcu6fC48hlkBI3ckI6gZMmL5lVXY8kdf6SnCxMf\n         4RbgiqIeIS7r1bvSmygN7viYDEnWQOUvNml5D2SHnCZn++sA5DDimPRgONSAZtIZ/bwE\n         c/jQ=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1776149540; x=1776754340;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=/973+ADhp7ja1pNXUALB1jgQRlOkwMbLVxABVyNMYms=;\n        b=DKsr4dG2xCXxmwhFQceKzpQKguBAryfnws1c/xIdp/7LBleVxpSo79eCX9bwl4jAMp\n         dAH3GpTjcFAjofAzurWrHjuvYQZdvMq/ioNLt6GSQPOHub8kCGmHXoPnsqvFSPJDIG6W\n         ZKPqK3Mqye1d67PyhgNh9BnjA3UilReZs99snkdhxtfrKor1Mr2jSvJb8COi1/0bh6C1\n         DyQvhaliBNG2CDXYFEafJ2RTC6oPzMqU2Xnh7SEyZiEko7dcCEQ+wey63PCxbr7oBBGo\n         cX5fBuVeLUqpLDke4iHSEOnLsuBUqawkSYR1M/tWd0nJhQlpI1n4dCoW58LAaXraK5Fz\n         McdQ==",
        "X-Forwarded-Encrypted": "i=1;\n AFNElJ/bDgQgBTolEVHAbyaoo3XEiPVyHrHiein928IrXnYIwbN5l7fPeO9OVF1+vZr3tZGqkiv6sFL8fcU=@vger.kernel.org",
        "X-Gm-Message-State": "AOJu0YxkyusB1eGnXBZyEHut5S2bsSkOX3XiAHRNFt5L7jd5trIx9qv6\n\t3Iefo45pCgU1LCBOhkTe8bryEmVxUPpwH0JCQ98cb1iI7x8yEq69FfWurUK8dpkMcvIIQkPQUUI\n\ty2hceE6bUV62Vifkbn2nvKFoasQgYgX6flnxvGmuWR+g11pycd7tgfOA3ZTFWW9E=",
        "X-Gm-Gg": "AeBDietNTgshdFxFC8hR4XwkxUbO3HXxBDM4m8f0gFw0L6V5jX/gYruB3wZoMLj2Fq6\n\tTzxbgpB1I/PICVl8aE+lS0Dv7Ksc7VRATkgpHA9nr64svMfooCjaVr98qPjXVCJw9fQ+IzRVEF4\n\tQV8T8tCYfVWNnXKR69wuOMlKp7PRX/HzuAd5Qw5V4qYtdZkdJj6RHxaj8FMLC+J/RhWvotciBMc\n\tguRbe20RoKNdHyGHfus8mNlxI4IuUH1p9isKbsI6j4AxQaDGeq3WIChPsv2+5g68mLY6wWJ5ewt\n\tBxQHAGf9qNUK3OBSdr9Jfmwo4grUIFNbbGXNp4653476LQ+mVzNAmhviN+x2VHHsE0XcfdtQc3z\n\t2paoGrwi2DpVwTx0/Cf1nlr39vVNYTzbopshcKWZ/YCHj0X0oSJIyROuhQ/TyoapPhcmkhEeuiW\n\tojTuTrRppFikuC561ohV0CPpDAFrNWtHyYJaigekQ=",
        "X-Received": [
            "by 2002:a05:6a21:3286:b0:398:4a1f:8a54 with SMTP id\n adf61e73a8af0-39fe3c91219mr18171353637.2.1776149539712;\n        Mon, 13 Apr 2026 23:52:19 -0700 (PDT)",
            "by 2002:a05:6a21:3286:b0:398:4a1f:8a54 with SMTP id\n adf61e73a8af0-39fe3c91219mr18171323637.2.1776149539210;\n        Mon, 13 Apr 2026 23:52:19 -0700 (PDT)"
        ],
        "From": "Yadu M G <yadu.mg@oss.qualcomm.com>",
        "To": "jingoohan1@gmail.com, mani@kernel.org",
        "Cc": "lpieralisi@kernel.org, kwilczynski@kernel.org, bhelgaas@google.com,\n        robh@kernel.org, linux-pci@vger.kernel.org,\n        linux-kernel@vger.kernel.org",
        "Subject": "[PATCH] PCI: dwc: Initialize pp->lock before MSI domain registration",
        "Date": "Tue, 14 Apr 2026 12:22:14 +0530",
        "Message-Id": "<20260414065214.3085209-1-yadu.mg@oss.qualcomm.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "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-Proofpoint-GUID": "WCksoza26k4MH4aHRL3A8xRMKbaJR0oj",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDE0MDA2MiBTYWx0ZWRfX0BG8y9FS6KIE\n K2XrQep7c98dEoKLgg62eyhf/m09wo92A44Q5RW6Nq7OTujg5FBYRg6TLRr7kuNwFZGyt+GveT9\n 6e7NEYQCH0aAKXeitQ/Dw+B7yXCgtnh+RqrPmIdFKiOPEwhQdPy4Y3B1V8YVoPwHYfU/JPG7lmZ\n D6izP+cp8rohyoK8j7uKgsTWI9u5B4MaWCVPaRuktKdqx4YhsoBeYWT64hfT6K4pqqsx3tWRoDn\n 0Dsmw5H4sjsHoP0Cf0d+sN5l1/qDPNEPCju3qAJKTJLUYTJIZ1U4r2E4flN8fJFeXpaV//Nr+Ap\n G1zU+M1O4Q67hdcPl73LTzEWqi8u1TF3WVfYpQFdZEiRlz3mSkdZ3HJqHi/LrybqvvHFx6aT8FA\n Ys74eRkhD+YggspzUjhfysaRftEggSdN9amzCIqOdyFfMBbPceaY4e/FKJvxg1KvbmnRkfJcmNP\n E1RL2ePdA9JCBlTSrMA==",
        "X-Proofpoint-ORIG-GUID": "WCksoza26k4MH4aHRL3A8xRMKbaJR0oj",
        "X-Authority-Analysis": "v=2.4 cv=DrpmPm/+ c=1 sm=1 tr=0 ts=69dde424 cx=c_pps\n a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17\n a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8\n a=4YNVNgpfuJSr3wIkXjAA:9 a=x9snwWr2DeNwDh03kgHS:22",
        "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-14_01,2026-04-13_04,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 impostorscore=0 lowpriorityscore=0 clxscore=1011\n phishscore=0 adultscore=0 spamscore=0 bulkscore=0 malwarescore=0\n suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000\n definitions=main-2604140062"
    },
    "content": "A lockdep warning is observed during boot on a Qcom firmware managed\nplatform:\n\n  INFO: trying to register non-static key.\n  The code is fine but needs lockdep annotation, or maybe\n  you didn't initialize this object before use?\n  turning off the locking correctness validator.\n  ...\n  Call trace:\n   register_lock_class+0x128/0x4d8\n   __lock_acquire+0x110/0x1db0\n   lock_acquire+0x278/0x3d8\n   _raw_spin_lock_irq+0x6c/0xc0\n   dw_pcie_irq_domain_alloc+0x48/0x190\n   irq_domain_alloc_irqs_parent+0x2c/0x48\n   msi_domain_alloc+0x90/0x160\n  ...\n\ndw_pcie_irq_domain_alloc() takes pp->lock while allocating MSI\ninterrupts. pp->lock was initialized in dw_pcie_host_init(). However,\nsome DWC glue drivers like those on Qcom firmware managed platforms\nallocate MSI domains from their .msi_init callback by calling\ndw_pcie_allocate_domains() directly, bypassing dw_pcie_host_init(). This\nleaves pp->lock without a lockdep key and triggers the warning when MSI\nvectors are later allocated.\n\nInitialize pp->lock in dw_pcie_allocate_domains() immediately before\nregistering the MSI IRQ domain so the lock is always initialized for\nevery caller path.\n\nSigned-off-by: Yadu M G <yadu.mg@oss.qualcomm.com>\n---\n drivers/pci/controller/dwc/pcie-designware-host.c | 10 ++++++++--\n 1 file changed, 8 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c\nindex c9517a348836..8acd671bbc8c 100644\n--- a/drivers/pci/controller/dwc/pcie-designware-host.c\n+++ b/drivers/pci/controller/dwc/pcie-designware-host.c\n@@ -215,6 +215,14 @@ int dw_pcie_allocate_domains(struct dw_pcie_rp *pp)\n \t\t.host_data\t= pp,\n \t};\n \n+\t/*\n+\t * Initialize the lock here rather than in dw_pcie_host_init() so that\n+\t * drivers using a custom msi_init() callback that call\n+\t * dw_pcie_allocate_domains() directly also have the lock properly\n+\t * initialized before dw_pcie_irq_domain_alloc() can be invoked.\n+\t */\n+\traw_spin_lock_init(&pp->lock);\n+\n \tpp->irq_domain = msi_create_parent_irq_domain(&info, &dw_pcie_msi_parent_ops);\n \tif (!pp->irq_domain) {\n \t\tdev_err(pci->dev, \"Failed to create IRQ domain\\n\");\n@@ -573,8 +581,6 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp)\n \tstruct pci_host_bridge *bridge;\n \tint ret;\n \n-\traw_spin_lock_init(&pp->lock);\n-\n \tbridge = devm_pci_alloc_host_bridge(dev, 0);\n \tif (!bridge)\n \t\treturn -ENOMEM;\n",
    "prefixes": []
}