get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2197255,
    "url": "http://patchwork.ozlabs.org/api/patches/2197255/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/patch/E1vsNBv-00000009nfA-27ZK@rmk-PC.armlinux.org.uk/",
    "project": {
        "id": 21,
        "url": "http://patchwork.ozlabs.org/api/projects/21/?format=api",
        "name": "Linux Tegra Development",
        "link_name": "linux-tegra",
        "list_id": "linux-tegra.vger.kernel.org",
        "list_email": "linux-tegra@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<E1vsNBv-00000009nfA-27ZK@rmk-PC.armlinux.org.uk>",
    "list_archive_url": null,
    "date": "2026-02-17T15:40:47",
    "name": "[net-next] i2c: tegra: runtime PM is not IRQ-safe",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "0540b606a1d5d51fbcc1e457188e26e0cc300674",
    "submitter": {
        "id": 69155,
        "url": "http://patchwork.ozlabs.org/api/people/69155/?format=api",
        "name": "Russell King (Oracle)",
        "email": "rmk+kernel@armlinux.org.uk"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-tegra/patch/E1vsNBv-00000009nfA-27ZK@rmk-PC.armlinux.org.uk/mbox/",
    "series": [
        {
            "id": 492442,
            "url": "http://patchwork.ozlabs.org/api/series/492442/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-tegra/list/?series=492442",
            "date": "2026-02-17T15:40:47",
            "name": "[net-next] i2c: tegra: runtime PM is not IRQ-safe",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492442/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2197255/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2197255/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linux-tegra+bounces-12004-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-tegra@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=armlinux.org.uk header.i=@armlinux.org.uk\n header.a=rsa-sha256 header.s=pandora-2019 header.b=GhN3Cs+J;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-tegra+bounces-12004-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key)\n header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b=\"GhN3Cs+J\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=78.32.30.218",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=armlinux.org.uk",
            "smtp.subspace.kernel.org;\n spf=none smtp.mailfrom=armlinux.org.uk"
        ],
        "Received": [
            "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\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 4fFkPs4RqFz1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 02:41:05 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 588C6301A913\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 15:41:02 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2ADF636C592;\n\tTue, 17 Feb 2026 15:41:02 +0000 (UTC)",
            "from pandora.armlinux.org.uk (pandora.armlinux.org.uk\n [78.32.30.218])\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 A899836B045;\n\tTue, 17 Feb 2026 15:40:59 +0000 (UTC)",
            "from e0022681537dd.dyn.armlinux.org.uk\n ([fd8f:7570:feb6:1:222:68ff:fe15:37dd]:49886 helo=rmk-PC.armlinux.org.uk)\n\tby pandora.armlinux.org.uk with esmtpsa  (TLS1.3) tls\n TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384\n\t(Exim 4.98.2)\n\t(envelope-from <rmk@armlinux.org.uk>)\n\tid 1vsNBw-000000007r5-19ZZ;\n\tTue, 17 Feb 2026 15:40:48 +0000",
            "from rmk by rmk-PC.armlinux.org.uk with local (Exim 4.98.2)\n\t(envelope-from <rmk@rmk-PC.armlinux.org.uk>)\n\tid 1vsNBv-00000009nfA-27ZK;\n\tTue, 17 Feb 2026 15:40:47 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771342862; cv=none;\n b=KRCohANz2silmgm9aYLEjGRKdSPvjeTtY+qQry4HNejwq553meVsDKICp6WrtnHgS324eXlOs69EY2acsRQhpWbHzorKQQlOn/cKbOLCh7CQOwmwxS+Ed8sRFlrXJ8jOCZ3Aqorbsi9htbebA8Wz5/NbTgYzxh7DJNBUv7VXkgA=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771342862; c=relaxed/simple;\n\tbh=+kt3+dntmydrhGoCypN0jxjvfCf5WhKPn/sfYKsSxKY=;\n\th=From:To:Cc:Subject:MIME-Version:Content-Disposition:Content-Type:\n\t Message-Id:Date;\n b=QoghTpFIi0yFwzZ5scHizxXBdVp9Mpcj4kIKwCW6+vavyAzFfMseoBaDqs4tMjT0CU0u7d8XLWFW7DBf54RcQ9CBJSXFh4lCoGh/VLPhjfAoy67K7SY68kiPZzXP0VvEfpeZ219VNTrrDHfRfptl73pggsMW5wwV2ZiVEmOA/TA=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=armlinux.org.uk;\n spf=none smtp.mailfrom=armlinux.org.uk;\n dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk\n header.b=GhN3Cs+J; arc=none smtp.client-ip=78.32.30.218",
        "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=armlinux.org.uk; s=pandora-2019; h=Date:Sender:Message-Id:Content-Type:\n\tContent-Transfer-Encoding:MIME-Version:Subject:Cc:To:From:Reply-To:Content-ID\n\t:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:\n\tResent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:\n\tList-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;\n\tbh=dj0ut5bgcVTLP0CqY5XGK5+PT8/xVCmk4FDBTMonOxE=; b=GhN3Cs+JHUyxAVZlzCTUncWfGO\n\t6NBbIYTcjEeWDAdQPs4wSu5UFb384kLp+y/25Oe+SaWXGg5OWL5NX+kDsfN79Am+y9Aer1XGb8R0v\n\tuuMPOrteH0geb5iGmN7DBwG5L4s7aDzNZekf4pzgjoGqmX+0ZEkaVhOmH1M4H1K8npsAYQ5VA4Rc0\n\tnX15Fw5HPZoPifeI+Y6DPe1rbJQ6oYSnC1M2xcGPR+te4zm1G7RmDN0BTYlj93rFfInJWikHomqMk\n\t93Atp3zwg577JwolzOH6Yn2lTUr274o+22NX2eCIwjdSM1HKVoGfv0SJdZaHYGzYJ21IKxy1CQJc9\n\ti4bL8fAw==;",
        "From": "\"Russell King (Oracle)\" <rmk+kernel@armlinux.org.uk>",
        "To": "Laxman Dewangan <ldewangan@nvidia.com>,\n\t Dmitry Osipenko <digetx@gmail.com>",
        "Cc": "Andi Shyti <andi.shyti@kernel.org>,\n\tJonathan Hunter <jonathanh@nvidia.com>,\n\tLinus Walleij <linusw@kernel.org>,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-i2c@vger.kernel.org,\n\tlinux-tegra@vger.kernel.org",
        "Subject": "[PATCH net-next] i2c: tegra: runtime PM is not IRQ-safe",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-tegra@vger.kernel.org",
        "List-Id": "<linux-tegra.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-tegra+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-tegra+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Disposition": "inline",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Message-Id": "<E1vsNBv-00000009nfA-27ZK@rmk-PC.armlinux.org.uk>",
        "Sender": "Russell King <rmk@armlinux.org.uk>",
        "Date": "Tue, 17 Feb 2026 15:40:47 +0000"
    },
    "content": "i2c-tegra marks its runtime PM as IRQ safe using pm_runtime_irq_safe().\nHowever, tegra_i2c_runtime_suspend() calls\npinctrl_pm_select_idle_state(), which eventually calls\npinmux_disable_setting() which will take the desc->mux_lock mutex.\nWhen this happens, the result is:\n\nBUG: sleeping function called from invalid context at kernel/locking/mutex.c:591\nin_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 12, name: kworker/u24:0\npreempt_count: 0, expected: 0\nRCU nest depth: 0, expected: 0\n3 locks held by kworker/u24:0/12:\n #0: ffff000080020d48 ((wq_completion)events_unbound#2){+.+.}-{0:0}, at: process_one_work+0x184/0x628\n #1: ffff80008225bde8 (deferred_probe_work){+.+.}-{0:0}, at: process_one_work+0x1ac/0x628\n #2: ffff000080ad90f8 (&dev->mutex){....}-{4:4}, at: __device_attach+0x2c/0x188\nirq event stamp: 97058\nktime_get+0x130/0x180\n_raw_spin_lock_irqsave+0x84/0x88\nhandle_softirqs+0x448/0x494\n__do_softirq+0x14/0x20\nCPU: 1 UID: 0 PID: 12 Comm: kworker/u24:0 Not tainted 6.19.0-rc8-net-next+ #591 PREEMPT\nHardware name: NVIDIA NVIDIA Jetson Xavier NX Developer Kit/Jetson, BIOS 6.0-37391689 08/28/2024\nWorkqueue: events_unbound deferred_probe_work_func\nCall trace:\n show_stack+0x18/0x30 (C)\n dump_stack_lvl+0x6c/0x94\n dump_stack+0x18/0x24\n __might_resched+0x154/0x220\n __might_sleep+0x48/0x80\n __mutex_lock+0x48/0x800\n mutex_lock_nested+0x24/0x30\n pinmux_disable_setting+0x9c/0x180\n pinctrl_commit_state+0x5c/0x260\n pinctrl_pm_select_idle_state+0x4c/0xa0\n tegra_i2c_runtime_suspend+0x2c/0x3c\n pm_generic_runtime_suspend+0x2c/0x44\n __rpm_callback+0x48/0x1ec\n rpm_callback+0x74/0x80\n rpm_suspend+0xec/0x630\n rpm_idle+0x274/0x42c\n __pm_runtime_idle+0x44/0x154\n tegra_i2c_probe+0x2c0/0x540\n platform_probe+0x5c/0xa4\n really_probe+0xbc/0x2c0\n __driver_probe_device+0x78/0x120\n driver_probe_device+0x3c/0x160\n __device_attach_driver+0xb8/0x140\n bus_for_each_drv+0x70/0xb8\n __device_attach+0xa4/0x188\n device_initial_probe+0x50/0x54\n bus_probe_device+0x38/0xa4\n deferred_probe_work_func+0x90/0xcc\n process_one_work+0x204/0x628\n worker_thread+0x1bc/0x360\n kthread+0x138/0x210\n ret_from_fork+0x10/0x20\n\nThis was observed on the nVidia Jetson Xavier NX platform.\n\nThus, no, the runtime PM is not IRQ-safe. Remove the call marking it as\nsuch.\n\nSigned-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>\n---\nThe IRQ-safe marking was introduced by commit ede2299f7101 (\"i2c:\ntegra: Support atomic transfers\").\n\nHowever, since then there have been patches disabling the IRQ-safe\nmarking:\n\n9e29420ddb13 i2c: tegra: Don't mark VI I2C as IRQ safe runtime PM\n14d069d92951 i2c: tegra: Do not mark ACPI devices as irq safe\n\nClearly, the presence of pinctrl_pm_select_idle_state() which can sleep\nmeans, definitively, that runtime PM on this device is not IRQ safe,\nand if the original patch introducing atomic transfers relies on these\nbeing IRQ safe, that patch was incorrect (maybe on such devices, it\nshould not change the pin state, and the driver should have a flag to\nallow the driver to be used in atomic contexts?)\n\nThe alternative to this patch is to get rid of the pinctrl calls in the\nruntime PM path.\n---\n drivers/i2c/busses/i2c-tegra.c | 12 ------------\n 1 file changed, 12 deletions(-)",
    "diff": "diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c\nindex e533460bccc3..878a2d1c9749 100644\n--- a/drivers/i2c/busses/i2c-tegra.c\n+++ b/drivers/i2c/busses/i2c-tegra.c\n@@ -1829,18 +1829,6 @@ static int tegra_i2c_probe(struct platform_device *pdev)\n \tif (err)\n \t\tgoto release_clocks;\n \n-\t/*\n-\t * VI I2C is in VE power domain which is not always ON and not\n-\t * IRQ-safe.  Thus, IRQ-safe device shouldn't be attached to a\n-\t * non IRQ-safe domain because this prevents powering off the power\n-\t * domain.\n-\t *\n-\t * VI I2C device shouldn't be marked as IRQ-safe because VI I2C won't\n-\t * be used for atomic transfers. ACPI device is not IRQ safe also.\n-\t */\n-\tif (!IS_VI(i2c_dev) && !has_acpi_companion(i2c_dev->dev))\n-\t\tpm_runtime_irq_safe(i2c_dev->dev);\n-\n \tpm_runtime_enable(i2c_dev->dev);\n \n \terr = tegra_i2c_init_hardware(i2c_dev);\n",
    "prefixes": [
        "net-next"
    ]
}