get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2226325,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2226325/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260422-pwrseq-m2-bt-v1-12-720d02545a64@oss.qualcomm.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": "<20260422-pwrseq-m2-bt-v1-12-720d02545a64@oss.qualcomm.com>",
    "date": "2026-04-22T11:24:53",
    "name": "[12/12] Bluetooth: hci_qca: Fix the broken BT_EN GPIO detection for Qcom WCN devices",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "b4ee8287f05aad59ef28e6828f6d0378a0b6f434",
    "submitter": {
        "id": 91277,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/91277/?format=api",
        "name": "Manivannan Sadhasivam via B4 Relay",
        "email": "devnull+manivannan.sadhasivam.oss.qualcomm.com@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260422-pwrseq-m2-bt-v1-12-720d02545a64@oss.qualcomm.com/mbox/",
    "series": [
        {
            "id": 500992,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/500992/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=500992",
            "date": "2026-04-22T11:24:41",
            "name": "Fixes/improvements for the PCI M.2 power sequencing driver",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/500992/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2226325/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2226325/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-52965-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=oLu72SdG;\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-52965-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"oLu72SdG\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"
        ],
        "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 4g0xmY2Tfbz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 21:28:13 +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 9FBE8306E8FB\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 11:25:41 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id AB49D3D332F;\n\tWed, 22 Apr 2026 11:25:13 +0000 (UTC)",
            "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\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 392DC3D16F2;\n\tWed, 22 Apr 2026 11:25:13 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPS id 1DAE3C2BCB9;\n\tWed, 22 Apr 2026 11:25:13 +0000 (UTC)",
            "from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id 15442F5A8DE;\n\tWed, 22 Apr 2026 11:25:13 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776857113; cv=none;\n b=LZqpbhY9V455PjgOn2tohThIMkXcXTMTNC9K6fXEwuLAHXUGJgaUTR+YdLTvlgjNz7/BTtrEvmEjKbAUsx3/Ma8hjvc4DIThZtjXDvV4lIP+v3CR4q/wJoyzBf8ifu55U9GP/VSlSKtYaudN6gv1d6SSTt37aIeWVwVzkWlo9+Y=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776857113; c=relaxed/simple;\n\tbh=aC3N0vFLQqJ9pWeBGkZU7n1kGC1cK0vsr+ydfhVVUxM=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=HzftSp6E2BKtHJVc2ZCP/Z9WrprLPZwaBNqJ46UjY/BsGn4ikxCAYl8guwOBxV7XUgOSsVRO94SougoJJEuEr2cauzuYNFlRdhdL7Z+WdoFRCYEItsNOnsIpzhEcSlz7S7Y3YLyGsr+f402lWKQTG5ez4Efve/UHBqz20n1s+JA=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=oLu72SdG; arc=none smtp.client-ip=10.30.226.201",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776857113;\n\tbh=aC3N0vFLQqJ9pWeBGkZU7n1kGC1cK0vsr+ydfhVVUxM=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=oLu72SdGs8LDg14oaxCuiOnuBXWounJvSv9QHX1RPk/M6w1qw8LPx4kZQPzl0Glds\n\t 62TnNJod6g9OpUjzLGzK5EX44bOQTdvjY+pggFyVQR37/R3pB5LPbuYEfGHSaX2vBF\n\t NCvj/ffWTdUcq4nu+dPbvQBq+F/bIvZ0ScwxO7ScK84CPSnWgq1uNZ7HHJKrKteWfk\n\t B6Y4DLTJXa2+u9lvDgb9rm+vQr5gMbq/GwI/HIeHuiS0KNL7XDYx3r47KPhR3rCWR1\n\t JYWdO60zI+ixcCFE7d7sC/sH9YwgmLQu1rAoGGwhH+kk8cQpnAn5aZm5QVyIhUh5jY\n\t lvyEO91fwsRrQ==",
        "From": "Manivannan Sadhasivam via B4 Relay\n <devnull+manivannan.sadhasivam.oss.qualcomm.com@kernel.org>",
        "Date": "Wed, 22 Apr 2026 16:54:53 +0530",
        "Subject": "[PATCH 12/12] Bluetooth: hci_qca: Fix the broken BT_EN GPIO\n detection for Qcom WCN devices",
        "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-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20260422-pwrseq-m2-bt-v1-12-720d02545a64@oss.qualcomm.com>",
        "References": "<20260422-pwrseq-m2-bt-v1-0-720d02545a64@oss.qualcomm.com>",
        "In-Reply-To": "<20260422-pwrseq-m2-bt-v1-0-720d02545a64@oss.qualcomm.com>",
        "To": "Bartosz Golaszewski <brgl@kernel.org>,\n Manivannan Sadhasivam <mani@kernel.org>,\n Marcel Holtmann <marcel@holtmann.org>,\n Luiz Augusto von Dentz <luiz.dentz@gmail.com>,\n Shuai Zhang <quic_shuaz@quicinc.com>",
        "Cc": "linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,\n linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org,\n linux-bluetooth@vger.kernel.org, Wei Deng <wei.deng@oss.qualcomm.com>,\n Luiz Augusto von Dentz <luiz.von.dentz@intel.com>,\n Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>,\n stable+noautosel@kernel.org",
        "X-Mailer": "b4 0.15.0",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=2538;\n i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id;\n bh=MQK4uW+3KV6qGFqWC5yEYOtbmFTmhw+bW5cuFTU5wq0=;\n b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBp6LAWuB2qxpCLf/GFBYjifLzZ8B9XHNP/TnaUg\n 6BT6IqwDcqJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCaeiwFgAKCRBVnxHm/pHO\n 9UrGCACcW+dlfQav+XDBsT8HgQvBy6YlJjwgniDIlcAYbGTDuMmfs1PqEWivUb4lfHSSOMkUUAp\n mB+c9oOr7b08WeHiuO6gEtLJx1hITwXtZuJsrWjr5/dMeWwH1uIhIrbQc0XobrppCNb1YtkqPy2\n d34tGCxvjcH+Bzhz1IaNm4kW/FVogCv4LDi3K6zN3yHVVTghJpX8K6ZbuGtl/WcxHoouM4+nRty\n /jzTiLzt2Ax8VKjr19NAR/tStQGbufxp3PK/g6FmNE75k/teM3lF+ujGx52i5s7Cjdd+8CtthCJ\n ffU2AI06ZtQBFJVIFeYP684R9qS+CZYFDcNr1H5dPzJwE7Kk",
        "X-Developer-Key": "i=manivannan.sadhasivam@oss.qualcomm.com; a=openpgp;\n fpr=C668AEC3C3188E4C611465E7488550E901166008",
        "X-Endpoint-Received": "by B4 Relay for\n manivannan.sadhasivam@oss.qualcomm.com/default with auth_id=461",
        "X-Original-From": "Manivannan Sadhasivam\n <manivannan.sadhasivam@oss.qualcomm.com>",
        "Reply-To": "manivannan.sadhasivam@oss.qualcomm.com"
    },
    "content": "From: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>\n\nCommit 'db0ff7e15923 (\"driver: bluetooth: hci_qca:fix unable to load the BT\ndriver\")' tried to check the presence of the BT_EN GPIO in Qcom WCN devices\nto indicate the HCI layer whether this BT device can be power controlled or\nnot.\n\nBut it was broken for two reasons:\n\n1. Assumes that when devm_pwrseq_get() API returns an error, BT_EN is not\ncontrollable. This is no way true as the API can fail for various reasons\nand also the pwrseq-qcom-wcn driver treats the BT_EN GPIO as optional. So\neven if the GPIO is not present, it will not fail the probe and this API\nwill not fail.\n\n2. By skipping the error return, probe deferral is completely broken as the\nAPI may return -EPROBE_DEFER to indicate the caller that the pwrseq driver\nis not yet probed. Skipping the return value means, this driver is not\ngoing to depend on pwrseq driver probing again and it just assumes that\nthe pwrseq is not available.\n\nSo to fix these issues, fail the probe if devm_pwrseq_get() returns an\nerror and if it succeeds, use the newly introduced pwrseq_is_fixed() API to\ncheck whether the power sequencer is fixed or not (i.e., whether the\nBluetooth interface on the Qcom WCN device is controllable using BT_EN GPIO\nor not) and set the 'bt_en_available' flag accordingly.\n\nCc: <stable+noautosel@kernel.org> # Depends on pwrseq change\nFixes: db0ff7e15923 (\"driver: bluetooth: hci_qca:fix unable to load the BT driver\")\nSigned-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>\n---\n drivers/bluetooth/hci_qca.c | 15 ++++++---------\n 1 file changed, 6 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c\nindex 27e52b08ec47..dd1d93cbb3d8 100644\n--- a/drivers/bluetooth/hci_qca.c\n+++ b/drivers/bluetooth/hci_qca.c\n@@ -2470,16 +2470,13 @@ static int qca_serdev_probe(struct serdev_device *serdev)\n \t\t\tqcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,\n \t\t\t\t\t\t\t\t   \"bluetooth\");\n \n-\t\t\t/*\n-\t\t\t * Some modules have BT_EN enabled via a hardware pull-up,\n-\t\t\t * meaning it is not defined in the DTS and is not controlled\n-\t\t\t * through the power sequence. In such cases, fall through\n-\t\t\t * to follow the legacy flow.\n-\t\t\t */\n \t\t\tif (IS_ERR(qcadev->bt_power->pwrseq))\n-\t\t\t\tqcadev->bt_power->pwrseq = NULL;\n-\t\t\telse\n-\t\t\t\tbreak;\n+\t\t\t\treturn PTR_ERR(qcadev->bt_power->pwrseq);\n+\n+\t\t\tif (pwrseq_is_fixed(qcadev->bt_power->pwrseq))\n+\t\t\t\tbt_en_available = false;\n+\n+\t\t\tbreak;\n \t\t}\n \n \t\tqcadev->bt_power->dev = &serdev->dev;\n",
    "prefixes": [
        "12/12"
    ]
}