{"id":2228167,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2228167/?format=json","web_url":"http://patchwork.ozlabs.org/project/rtc-linux/patch/20260425154959.2796261-3-john.madieu.xa@bp.renesas.com/","project":{"id":9,"url":"http://patchwork.ozlabs.org/api/1.1/projects/9/?format=json","name":"Linux RTC development","link_name":"rtc-linux","list_id":"linux-rtc.vger.kernel.org","list_email":"linux-rtc@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260425154959.2796261-3-john.madieu.xa@bp.renesas.com>","date":"2026-04-25T15:49:59","name":"[2/2] rtc: isl1208: Balance enable_irq_wake() with disable_irq_wake() on cleanup","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"09450a6b625b1472ed96f45180ee5335d79d6fe6","submitter":{"id":89876,"url":"http://patchwork.ozlabs.org/api/1.1/people/89876/?format=json","name":"John Madieu","email":"john.madieu.xa@bp.renesas.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/rtc-linux/patch/20260425154959.2796261-3-john.madieu.xa@bp.renesas.com/mbox/","series":[{"id":501447,"url":"http://patchwork.ozlabs.org/api/1.1/series/501447/?format=json","web_url":"http://patchwork.ozlabs.org/project/rtc-linux/list/?series=501447","date":"2026-04-25T15:49:58","name":"rtc: isl1208: Fix IRQ return value and wake reference leak","version":1,"mbox":"http://patchwork.ozlabs.org/series/501447/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2228167/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2228167/checks/","tags":{},"headers":{"Return-Path":"\n <linux-rtc+bounces-6420-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-rtc@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=bp.renesas.com header.i=@bp.renesas.com\n header.a=rsa-sha256 header.s=selector1 header.b=r1Tdv5lw;\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-rtc+bounces-6420-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com\n header.b=\"r1Tdv5lw\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.229.68","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=bp.renesas.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=bp.renesas.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=bp.renesas.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 4g2vV070y4z1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 26 Apr 2026 01:52:24 +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 E7F46301C88C\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 25 Apr 2026 15:51:49 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 2D2E3352C28;\n\tSat, 25 Apr 2026 15:51:49 +0000 (UTC)","from TY3P286CU002.outbound.protection.outlook.com\n (mail-japaneastazon11010068.outbound.protection.outlook.com [52.101.229.68])\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 BBE3934E762;\n\tSat, 25 Apr 2026 15:51:47 +0000 (UTC)","from TY6PR01MB17377.jpnprd01.prod.outlook.com (2603:1096:405:35b::6)\n by TYCPR01MB7315.jpnprd01.prod.outlook.com (2603:1096:400:f1::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.24; Sat, 25 Apr\n 2026 15:51:45 +0000","from TY6PR01MB17377.jpnprd01.prod.outlook.com\n ([fe80::f373:26d6:86c4:6aa3]) by TY6PR01MB17377.jpnprd01.prod.outlook.com\n ([fe80::f373:26d6:86c4:6aa3%6]) with mapi id 15.20.9846.022; Sat, 25 Apr 2026\n 15:51:45 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777132309; cv=fail;\n b=OEuKgJJX5aCg5oY0C4Qh1qBNdWgtVXxrJK+uyL6tj2+6OzSWNO41h5haeTEgtRIRVP0bV/rrpR/qgPJbF/sA65qc6wBhqC++cEEYO5o5UX/z9GyRkHjkvw496UKV2PxPpULaskvZ0uBinZqjHhxHITozWOzFrJxzyiPfNUV4SPM=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=kuiV2FUgfxNmaBAecTizd7BQRGnz5wMaZp+dFBfdhbjGaeD3pB6dpbPv+zzevBkCrIhcJEMQC9UjARtyhU3lj4eZUjMJIW1cuvp4qsJzL8CwWYcMM6MXH55t5iK6l0Wb9Yh8kmFtchGwdEQP1b68v1z/0shIT8dUECirIRVXSSsyYuKSHxf2Fli9EIgk6RTdYM8+2fh+ddy7JqvC/0P0pzCDt7jK7g59Qe9nDMbIUkQ48qBTO/9lAPXFO0exh2pA9/OfqyVyZLUrxan7LnZlbhgN7ApLe/sB6LhJTJuyUvneEUsOxOerBu+KCP/BMxvHJ8ssAh0Scp0cCkF6dBjBhA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777132309; c=relaxed/simple;\n\tbh=CM4wAzX+r6s+6EDSYxgeT54472zsMUUpOxkQhborR1U=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=turDRIYsII9n59jOcFcz1fFRp1+Aw7NYhXh4E+gLECpJY9dwOhKsvbw63KVKnHZ7s4RT9OPQH98bagvrPNCN0OWhXOnHonEfgdVXr2acniaJI/HXxF5siU3N3H8UtMV8ungjFeHHmtReUmtyn+04d9f3xh35RygmdvB/MEXR60g=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=XFJJFHTRyhmbloymNaKNtGQ4bzz6gtQVghHc4aWsHFk=;\n b=Be+yutiCWVDkJEDcpLiOW1fJoYIVb7vnHicQXlJRAUcgji0b8PAsb8nCr9pj1HslXgaoYnJlF8We4d7MhpPm4Ke2Bw5wfK4SYZ2u2WBOIgJYN8CRMUUX1vbIS1nIpDr+MXQm7kAQvzK9lFbEYSmkFJbwr0Vc7MpMP6jj2D+AQeC+ubF4rEz6VZHYBeWn0ucwdgxJq4OJ8O54VcdLQaV35tX5Q0DxXoBHViFcTyQCoOg4LeOtJ8zdSxxtxs4S0F7Lqu5J4lSZ4DsYznTu0EM8Df+3B2w/zhh1d+VNAWsGujN/l+s+L/WMdT+GwAZYRl0JEzlC77j17vTkghvUyZTAkw=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=bp.renesas.com;\n spf=pass smtp.mailfrom=bp.renesas.com;\n dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com\n header.b=r1Tdv5lw; arc=fail smtp.client-ip=52.101.229.68","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=bp.renesas.com; dmarc=pass action=none\n header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=XFJJFHTRyhmbloymNaKNtGQ4bzz6gtQVghHc4aWsHFk=;\n b=r1Tdv5lw1LVEv91/1dXkdHUXonldThMIro5inCGsEi8cFQ3WmnYxes4D7gBmAmOG1eylwXBJRpuq0y9vwkZQHuX0VSV3hpJwzkypQjjQ4926mMKWfEp1MBhDbmwpFS/AAqTyuTAHTj7I0q70m5m/wER4GbjbM5MUBBcch/w1azE=","From":"John Madieu <john.madieu.xa@bp.renesas.com>","To":"alexandre.belloni@bootlin.com","Cc":"ryan@bluewatersys.com,\n\takpm@linux-foundation.org,\n\tm.grzeschik@pengutronix.de,\n\tDenis.Osterland@diehl.com,\n\tlinux-rtc@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tbiju.das.jz@bp.renesas.com,\n\tjohn.madieu@gmail.com,\n\tJohn Madieu <john.madieu.xa@bp.renesas.com>","Subject":"[PATCH 2/2] rtc: isl1208: Balance enable_irq_wake() with\n disable_irq_wake() on cleanup","Date":"Sat, 25 Apr 2026 15:49:59 +0000","Message-Id":"<20260425154959.2796261-3-john.madieu.xa@bp.renesas.com>","X-Mailer":"git-send-email 2.25.1","In-Reply-To":"<20260425154959.2796261-1-john.madieu.xa@bp.renesas.com>","References":"<20260425154959.2796261-1-john.madieu.xa@bp.renesas.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"PA7P264CA0117.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:34c::20) To OS7PR01MB17371.jpnprd01.prod.outlook.com\n (2603:1096:604:43e::6)","Precedence":"bulk","X-Mailing-List":"linux-rtc@vger.kernel.org","List-Id":"<linux-rtc.vger.kernel.org>","List-Subscribe":"<mailto:linux-rtc+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-rtc+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"TY6PR01MB17377:EE_|TYCPR01MB7315:EE_","X-MS-Office365-Filtering-Correlation-Id":"7bbab269-519e-4d2e-e929-08dea2e28d2a","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n\tbbLFwHgy/2d4BkC+SUwprs4ve66XfZz7Vh4rOBDpSbPuSIloj1mbhVCNJY4M1v6hC5KA9+p5T5yaQ5kaDXxnXh9HqHCm1+OuiqCyT7mQdNq12nikYOw0Gyl+z2ciHZ1fymso6LRsjZCug2XruSW1mOREKjjyQr8uqmUqQUMiZEIqFDvc0l9qA1CNDmXiGbF5n5aaJlyH8cu9ywrxkLmQwaMaxfp/njEB6zPWpVqmew0sUelmCYkNePcQUW06PB5D5p0c4JgAPKjVwehC11HxznFxCnlxmtwBqiKK9opneh301NBrGB2xgvARxkp6EAtCwRxy9u5M35N7IPa2GdgUBZmT4RZt7F/rc8jldvAsnmyC9DwDX3vTU8RMAh++VoWyYBu+hRv0D+B3sI/A3YskTQc/3R4GbaCV4fUZcCxBh4v9aMChdOwR0QwSbjXt5N24Sgn3BAg50YnfymQszfPBd57tPDK1oOZ1AoHbCduTpLfb5ZN0qvK4bTY+Mf7jnLA7F3Qn5w4MKacTGninbzwPXJwvTPXld6fZcDXf7I/Oj+Jek1ATGv5CU6X1MtVcMMgeAVERIp8l8NKd7NaJUGFsf65SZJNX6s+qMGLA2XBI77RWERu/8cBI9zrjxD6eMY9cCAlF3I3N+0Zs4gHkWg5vMmV8nUu/s11deeidc2rEedBXNNjbSrTCTQvcIVDJu8gghh9FUZFlB6dFyOaLgkmyIUkM6FrZAUpmVM+VbieuHbwQJGzyt6KywTVLbEh6MBAR6EF11f5dkaQBMbe+9lTF2M9ZvVfA6N0suNTFBDBxUW4=","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY6PR01MB17377.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(376014)(1800799024)(366016)(38350700014)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n bpguTUGHD7WYMSbK4KWDd9aHLTlCArzYpx/CPxndkTD4DEe4rfZWzT3eLpN/2wDNtAUEM5ny/KWkFw+rX6jdr6+OLpl1zvx+qEKbbKBHTNee+6QoCzFywOLmnh6XQcddgffZBK+7XU1zxWJ4ifmwOJb9mrs9r1G2od4CeyjjYulSV+PvK+j7i+2b9yMkEOTGYT+NSYa9P0Cj4VCTk03c6GY3tL8BW/WtOOLQsOr7+vPyLCxO/J2latV81kmtrtftb2469WXayfDaCgHDFWhV8jjWZehP0i1sjNjCbdUk0nEe8sdWCBpsHsdbS6ywCNg0t3yTuuolu6NfFOV0UcpopowmDG6lmsMIpmQol3Cr9EVSIgP/MVPPxwlhjoV166P09L5lo3cAWXtE2OO2MLXFajHYwSW4scYZ6FVLI0Brr2zlSV4heiZefpL7hKPP2Hp3Sof+38VQCKICOsgy31igI3WXRM/pmEpxGi206vnarcsS/9JN4PnVIVCmeSzQhVVcyWp6Ew2qvgrqXUF0Dlqw3GJ4jSdIeFVvIII3cmVOh+eSBHOchv2QzFJ6ahjYzRG8V6EoXEJEXVI4Rn/LaA2XQqN6ex0H3JgbkS27Fns3FtDx1+AbAdNquwvq3/cjZ7puwTK56k8ftgDxdpj0Q1KTDkSb2YLq4knMuNOMuZyPpXAJpBdxvD5E4FZ3vkTNAwpa2ybWt78/S5Xwutz4pxa8ObQcclWKD9YhvKv6GZk58Ka9EFVmQuZ4WiJmzVW03zDb92OZ9TwNkPyY2MyWMNAJRi+UKMfVcGGebaLOzpvPBZ0PBSU7eVDnKWXW9I7c5eHRmkJ2pPmO539KRYGVkqtMOCVKBcQyfebx+JOGPbqsueN3ltYM3/PPTssNdbg1PI5iHSce4XgGkz2miuvILdIOG+s5yoW2cuTUFLfv+ntvMDXG+XjaYF7QVsH9Y5oShZOotBFWzX7P4fcA5nC9r62BuDO9jhCyt+QGEXMNujgaxO4hTGjvV+r+6vtDgOHD52BVew5DKQIs3V+OyOWhxSDzPy2iB14VvASQuzUMm1+otDOqsfkyYysVvufoLITW0uQ6tl2/ZUvFitTpTbqHO+YbiOZjP1n6mBRlIk9MdcT3bMfPfU2IUUL/syIELMNjMQvjl38X4zXSWgXnZ4O8ZoCyi+sj1ZbL6vpFP/bp/jeLzSiMAccNnP8CswHTj9O2J/nja0KgVdaTe5ZAWxZv/pzc7pvnl4OAAEwQhEGmXiCZAT3haY4weSySw6oTvv1/1oY0oLfMk4rIpy/bmFwm/fK+bHTvGujZ93c171hhiMVeVhQA5VniJ+okz5KmR9yDpZ+/i7Fkm+nTc/l0IHZcVFOelWIdcks6JEaaBWhYT0XkE1xee/d8YFj8eSIVQ7MIt+D5HqMuM83jDwt8OZUOIf6/3V3Bb2li4W7kUnabqGq1PfwctItl2e3nfbxw5GnjFGg+zOQhJO23zNNff5hkqeIILINYGOseZTQm5o8/FOLUCgTWWcoh4QDdHlZsfg9TGGGeU/d81q6clp2lI3chJSyOewm1deglwvBAfd5GR86rWcqkKTtMO7SyoEqcOD6RzzYUbt6oef5sGzE8MaHS4hMfT3OYtyV7znfRsYYdzOBZH27hHwuuT5zXBvPG4Q3gr5NwFAQeDI67+vE/J2bswd4dEBbuPqqWR1iOaH5giwYYigGeYV5jow0sr0mMsp9lV5Sn/kye2J3qRkhDSHn+V1UILz1bGM9uutQPwNYwmJ3gRP4=","X-OriginatorOrg":"bp.renesas.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 7bbab269-519e-4d2e-e929-08dea2e28d2a","X-MS-Exchange-CrossTenant-AuthSource":"OS7PR01MB17371.jpnprd01.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"25 Apr 2026 15:51:45.2056\n (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"53d82571-da19-47e4-9cb4-625a166a4a2a","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n DtoHuc8tG7BDGLv0TtlloekeJx/7txxDcTdPRklDI7MwK0jiHxxM03AEC9m6v+AaT8QSZEnvc2Q3eClhUq9na4GkN1NrSdpN4h+KUxqkmdE=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"TYCPR01MB7315"},"content":"isl1208_setup_irq() calls enable_irq_wake() after a successful\nIRQ request, but the driver has no remove path that balances it.\nThe driver is devm-only, so on unbind devm releases the IRQ -\nbut enable_irq_wake() is not undone by IRQ release, so the wake\ncount for that IRQ stays incremented.\n\nEach rebind therefore leaks one wake reference; the leak doubles\nfor the chip variant that has a separate evdet IRQ, since\nisl1208_setup_irq() is then called twice during probe.\n\nRegister a devm action that calls disable_irq_wake() per IRQ.\nWhile at it, check enable_irq_wake()'s return value:\non failure, propagate the error rather than silently registering\na disable action for an IRQ whose wake state was never enabled.\n\nFixes: 9ece7cd833a3 (\"rtc: isl1208: Add \"evdet\" interrupt source for isl1219\")\nSigned-off-by: John Madieu <john.madieu.xa@bp.renesas.com>\n---\n drivers/rtc/rtc-isl1208.c | 15 ++++++++++++++-\n 1 file changed, 14 insertions(+), 1 deletion(-)","diff":"diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c\nindex c93998c53e7a..1de80fc9c9c9 100644\n--- a/drivers/rtc/rtc-isl1208.c\n+++ b/drivers/rtc/rtc-isl1208.c\n@@ -822,6 +822,11 @@ static const struct nvmem_config isl1208_nvmem_config = {\n \t.reg_write = isl1208_nvmem_write,\n };\n \n+static void isl1208_disable_irq_wake_action(void *data)\n+{\n+\tdisable_irq_wake((unsigned long)data);\n+}\n+\n static int isl1208_setup_irq(struct i2c_client *client, int irq)\n {\n \tint rc = devm_request_threaded_irq(&client->dev, irq, NULL,\n@@ -831,7 +836,15 @@ static int isl1208_setup_irq(struct i2c_client *client, int irq)\n \t\t\t\t\tclient);\n \tif (!rc) {\n \t\tdevice_init_wakeup(&client->dev, true);\n-\t\tenable_irq_wake(irq);\n+\t\trc = enable_irq_wake(irq);\n+\t\tif (rc)\n+\t\t\treturn rc;\n+\n+\t\trc = devm_add_action_or_reset(&client->dev,\n+\t\t\t\t\t      isl1208_disable_irq_wake_action,\n+\t\t\t\t\t      (void *)(unsigned long)irq);\n+\t\tif (rc)\n+\t\t\treturn rc;\n \t} else {\n \t\tdev_err(&client->dev,\n \t\t\t\"Unable to request irq %d, no alarm support\\n\",\n","prefixes":["2/2"]}