{"id":2233294,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2233294/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/patch/20260506044818.19842-1-devnexen@gmail.com/","project":{"id":35,"url":"http://patchwork.ozlabs.org/api/1.1/projects/35/?format=json","name":"Linux I2C development","link_name":"linux-i2c","list_id":"linux-i2c.vger.kernel.org","list_email":"linux-i2c@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260506044818.19842-1-devnexen@gmail.com>","date":"2026-05-06T04:48:18","name":"i2c: ls2x-v2: return IRQ_HANDLED after servicing an error","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"52700f013521fc7b97106507997007b08cf62379","submitter":{"id":76714,"url":"http://patchwork.ozlabs.org/api/1.1/people/76714/?format=json","name":"David Carlier","email":"devnexen@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-i2c/patch/20260506044818.19842-1-devnexen@gmail.com/mbox/","series":[{"id":502925,"url":"http://patchwork.ozlabs.org/api/1.1/series/502925/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/list/?series=502925","date":"2026-05-06T04:48:18","name":"i2c: ls2x-v2: return IRQ_HANDLED after servicing an error","version":1,"mbox":"http://patchwork.ozlabs.org/series/502925/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2233294/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2233294/checks/","tags":{},"headers":{"Return-Path":"\n <linux-i2c+bounces-17263-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-i2c@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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=LgROnDw9;\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-i2c+bounces-17263-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"LgROnDw9\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.41","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g9NDy3jt4z1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 14:48:34 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id D6F6E3019524\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 04:48:28 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 42CCE2EC0B0;\n\tWed,  6 May 2026 04:48:27 +0000 (UTC)","from mail-wm1-f41.google.com (mail-wm1-f41.google.com\n [209.85.128.41])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 9678178F3A\n\tfor <linux-i2c@vger.kernel.org>; Wed,  6 May 2026 04:48:25 +0000 (UTC)","by mail-wm1-f41.google.com with SMTP id\n 5b1f17b1804b1-488af96f6b2so75405095e9.0\n        for <linux-i2c@vger.kernel.org>; Tue, 05 May 2026 21:48:25 -0700 (PDT)","from dohko.chello.ie (188-141-5-72.dynamic.upc.ie. [188.141.5.72])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48e538a547bsm18974335e9.5.2026.05.05.21.48.21\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Tue, 05 May 2026 21:48:22 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778042906; cv=none;\n b=LzuuDhAJ1lIYKXfJqWsFjMM0mf3IT47UEboJDTvfhNeUSqYVlRAx46KsK2abkq46uahUf+U7yZrxLdpPX/BRXrMFekCpdt63D3UUPS2zVlcinQjVbpD+pIi+NxAhHh9HeBkmczJ+DrgjVcVEgH3hOO7hfxAtvjVvMVzw8J/z0bg=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778042906; c=relaxed/simple;\n\tbh=q6MCnjjiiAA6XEBjXoX7t110UPkBrtsvcKObX5TlmwE=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=odVuHuTgZ1ssFo/0EFK6yItjGsJfdHgxS03cERYihOyQYk0rKwd/2xgj548v/eNK6giDX0JoTuKYrcxHHWkQjmJ2AYOzVWYL+hBYN8g2aKZhmbS0f1C6hykvfTSMA3nE0Tom8I3aVIEK3T84px7DVNurZzHBC9bIKUYR4iDKYFc=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=LgROnDw9; arc=none smtp.client-ip=209.85.128.41","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1778042904; x=1778647704;\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=7WpJ1AVTNAxUwDumuBHKlCo6q9UU+vYNT76TcKLCKYI=;\n        b=LgROnDw9JbVdxNi+WQW4T1Pox6N9bpwx9R2DzW3onf7jCDPI1bOQKaQZAVK1SBiKRn\n         Zl80AbiwEuzfNDJ4BadoknyTpAd3JbuVo/WEV6HHgcAZIV17ZflGKUzlmZnp1AoZnH22\n         WEfjN0Y7dgNp61XAiCqWv5bj1MosH1A+wd0FwriKl/2smwErZaM0EOZVJQEajhX4OBbD\n         tQ5xF7qme52/WIX/n+hipDxCSn4StzfyuSDEhtOC6tZV9+VMYiUBOXDAZ8/r+hJ5qnOw\n         LrFZZ1ppI2fuDeYA8f+xpaL1x9YTAKO/qb52zbmqu6Zpi/Iy4MTYgKS7acapVhB72hBa\n         pGOg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1778042904; x=1778647704;\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=7WpJ1AVTNAxUwDumuBHKlCo6q9UU+vYNT76TcKLCKYI=;\n        b=ocksVUItLCigcaQXiWD3uqYyxftOFV1BzBa9cCtVFyvoNg6DknT0peqrY4ocFQ+g1e\n         e0CitqdPMN8NsRyUzSCTlxm+5lEv8nCS+ZVVTAVx59mExtqkcIzPxn+ik+fdyFoS7f+3\n         /tKfDaqpPGIQqhT3DMmoKb2t8tFtn+uZk6RnZ/yxAcWWXAAeS3PBNnebtWJnzAeaAbl/\n         8HIbGz8KDqNxBlxDSEZioVuLXZk52zDAyYSB5ZZxNrHwXwzxpukkivoNKztwzT61DlUh\n         b+9GKY/cHtoxMrxCyS2epMR2xAs9GyKoN/Jxvd69yaCIJaq26Qwlmn/dP4qQD9cLGCn0\n         x6cA==","X-Forwarded-Encrypted":"i=1;\n AFNElJ8LusDGhSgiW25OXHMrS5eWNHXySzgXvWk1C6gzAh3IUwo1dmk1ZTRcmTw5fHGgca1m7WJr+mFrmAk=@vger.kernel.org","X-Gm-Message-State":"AOJu0YynWnNpHl5xvC30joKN9SA76XzMteCPP6VrT2wDbe4Ovymqur0M\n\tgveB6RFvjCcxKAHW2wnyfEAx9FgY7cDX9/kWcQtoyminZTg32Iwgf4UB","X-Gm-Gg":"AeBDieui5MPCpo6Mk4VJCjyq4JKGQKN1U12ndjWdiFsb4mQS0G6ODWhzp2ZUMCagn+5\n\tp5Fmbw5EysdDUNXY8XS3E24P4tAziwBuESTU3uGCcr0JH17VsutAaHT+QhSTQBK+U6Ww3DiWTWX\n\t/O246FTmKZlBx4JXBlYxIIdSoxs/sXdx3qOedi5eoEN8aFieqK4iJJtpGOvAyXirB+QkD6HQl+Z\n\tICi/m5jmDlGw49/1zx8xdgSOBMn7m7frcV05A8/jR9uJVlsOExLUeKC5ZJuHKVGcu4wUnzpnuOS\n\tpSIzkOoKfWqOsMtZDmpOsDAjuC6qwGGlhAcQhe4Nli/+8Htl5SntR/kRSHpvafFtDHxZj/yapG9\n\tGdmqBxtz+0sz1jbORAX1gRSZlunKD3zzuH04t/wTbs7L5sy0hG9RJ/q+eLh5Tlc9gu5ukQJ1eby\n\tRcokhbcJnoDAWkVZRlxid778l2OF/Z6hlKoRRdw7XSgF9cgd9in5sWpLPKgz/Lga9K1gwDhdMkA\n\tDFOaKg1Dm3Cjx1l5nej0g==","X-Received":"by 2002:a05:600c:3b17:b0:489:5022:39a4 with SMTP id\n 5b1f17b1804b1-48e51e20705mr26763075e9.9.1778042903769;\n        Tue, 05 May 2026 21:48:23 -0700 (PDT)","From":"David Carlier <devnexen@gmail.com>","To":"Andi Shyti <andi.shyti@kernel.org>,\n\tBinbin Zhou <zhoubinbin@loongson.cn>","Cc":"Huacai Chen <chenhuacai@loongson.cn>,\n\tAndy Shevchenko <andriy.shevchenko@intel.com>,\n\tlinux-i2c@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tDavid Carlier <devnexen@gmail.com>","Subject":"[PATCH] i2c: ls2x-v2: return IRQ_HANDLED after servicing an error","Date":"Wed,  6 May 2026 05:48:18 +0100","Message-ID":"<20260506044818.19842-1-devnexen@gmail.com>","X-Mailer":"git-send-email 2.53.0","Precedence":"bulk","X-Mailing-List":"linux-i2c@vger.kernel.org","List-Id":"<linux-i2c.vger.kernel.org>","List-Subscribe":"<mailto:linux-i2c+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-i2c+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"The event ISR reads SR1 and, when an error flag (ARLO/AF/BERR) is set,\ncalls loongson2_i2c_isr_error() which clears the offending flag, issues\nSTOP for the AF case, records msg->result, masks every CR2 interrupt\nenable and completes the waiter. The handler then returns IRQ_NONE,\ndeclaring to the IRQ core that the device did not interrupt.\n\nThat report is wrong. The device did interrupt and the handler fully\nserviced it. Because the IRQ is requested with IRQF_SHARED, the genirq\nspurious-IRQ tracker counts each error as unhandled. A bus that emits\nsporadic NACKs, arbitration losses or bus errors will therefore march\ntoward the spurious-IRQ threshold and the line can end up disabled,\nwedging the controller.\n\nReturn IRQ_HANDLED on this path. The other IRQ_NONE site, taken when\nneither an event nor an error bit is set, remains correct.\n\nFixes: 6d1b0785f6d5 (\"i2c: ls2x-v2: Add driver for Loongson-2K0300 I2C controller\")\nSigned-off-by: David Carlier <devnexen@gmail.com>\n---\n drivers/i2c/busses/i2c-ls2x-v2.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/drivers/i2c/busses/i2c-ls2x-v2.c b/drivers/i2c/busses/i2c-ls2x-v2.c\nindex 517760d70169..9df73557ecc4 100644\n--- a/drivers/i2c/busses/i2c-ls2x-v2.c\n+++ b/drivers/i2c/busses/i2c-ls2x-v2.c\n@@ -304,7 +304,7 @@ static irqreturn_t loongson2_i2c_isr_event(int irq, void *data)\n \tregmap_read(priv->regmap, LOONGSON2_I2C_SR1, &status);\n \tif (status & LOONGSON2_I2C_SR1_ITERREN_MASK) {\n \t\tloongson2_i2c_isr_error(status, data);\n-\t\treturn IRQ_NONE;\n+\t\treturn IRQ_HANDLED;\n \t}\n \n \tregmap_read(priv->regmap, LOONGSON2_I2C_CR2, &cr2);\n","prefixes":[]}