From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B4B7C07E98 for ; Sat, 3 Jul 2021 12:51:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 328256193A for ; Sat, 3 Jul 2021 12:51:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230263AbhGCMxy (ORCPT ); Sat, 3 Jul 2021 08:53:54 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:8416 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230196AbhGCMxx (ORCPT ); Sat, 3 Jul 2021 08:53:53 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 163CkjmM002556; Sat, 3 Jul 2021 12:51:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2020-01-29; bh=z8rAldYfRCxNykxIE8ci3HJGYDKn08sy3ZLhjgfmjvY=; b=PfWV4q72bQkdVEpBcN+vneZZyghqS6EgyuTq6Lk9/FpSNyLyr973YiAxMcbPluIZ353T VG641BBy7Xz71chpAHIhciQ9Pk7E98l7TjyEHDMxkEwcUvIwOiNkDFPo47OgNyAGLS/O ucboUgqohqgWXrnaYVRld1C7tRrch00Yp9YKXFkUHCvjQK2VXY9A4+3Um/obtkYNKiyC fkyUhhbsMlfZ+n3GKPipEjmIVMZY7xqCbYtfB218K+iz71rPSKY9FuvTRYYFOtIBojxp JdxMkmJC26qlor39nkbQSsFAPzz6xeZLroJEkVI8C/tv2iX4vilq9QW8MHtf/TH3BNyg iA== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 39jfsc8bhn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 03 Jul 2021 12:51:10 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 163Ck65P001934; Sat, 3 Jul 2021 12:51:09 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam08lp2042.outbound.protection.outlook.com [104.47.73.42]) by aserp3020.oracle.com with ESMTP id 39jfq33jwx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 03 Jul 2021 12:51:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VxTj+NFf6vjo1jeDRIyvlvQrNTiFgINhfChnmiD8UMOP2/3ZuNKl7HSYCJlk/zcGAfTmZcsAvx+Q+F2q14+byCDXtn/2PdzLQMKBjc4jkq7Cp6V8bsndKcbghj3LFXvbJL50R8YxGa/CD5GLndifGxugEJCNSXWBH2YXUZzf3r/NLgOXTwYdCRn9l6vg9XlZGYAMoeK6iz914tsfFyPAA2LE6WNqDRrICkBg66e/rbByuOmzzPfCIedNysVECsQfZtMRwE1P0YWIuhT1u13/CMSeouaFmyT/adFKVv4vsnqmvvgRsTFwpj72AeZVBbdqnqzSGHtbu9FfFt6NEvP+ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z8rAldYfRCxNykxIE8ci3HJGYDKn08sy3ZLhjgfmjvY=; b=fOEABc1m6RoqOIudt59xXrr1nRisXbpa6ugFyNW6yq+t27I1ie8EGuU52zEXjzNiyvwNeQnseH3plsgix9IC6bmg8lO9pZH6WGNTO6w4dlmTS+WjjvIctHgA/jYV3AnKbqa/0eG5M7snyVO1xr+PjKz8kSFhpnsj58x0KcEpVQAzApRjV0/cWABjFE1W4Z/H/93zYiiNBBkxr3f9XCrXUv3IAx6uV7EUDgFJFgdFMryGwxB2FQvS1YYgn8wm+7DROyc2xgKRDjqRSUxPN6qFGd6yTpfTaQ6QakMURLwermy51xlZ9kyktG+w1mxa86njk1wZV3+iFhdGWQ85mflzCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z8rAldYfRCxNykxIE8ci3HJGYDKn08sy3ZLhjgfmjvY=; b=hN02A8A8VWRMP0XVH09P/IKAyE6qgmMFqm2YEDGlKxP+V+s3XyTaou+xCw3y+f1hKW3Wk/USOs0oEeuo9Wz1ToZGjimHK2dyJezQEwqxKsUxXYr9t/VYNoST9PKKGr3tdxPDo8TwniAQw5YMIk4aZqpGBdoEFaEpx3mlpXtAYus= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by CO1PR10MB4706.namprd10.prod.outlook.com (2603:10b6:303:9d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22; Sat, 3 Jul 2021 12:51:06 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::3413:3c61:5067:ba73]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::3413:3c61:5067:ba73%5]) with mapi id 15.20.4287.030; Sat, 3 Jul 2021 12:51:06 +0000 Date: Sat, 3 Jul 2021 15:50:36 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Hector Martin Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Marc Zyngier Subject: drivers/irqchip/irq-apple-aic.c:849 aic_of_ic_init() warn: 'regs' not released on lines: 803. Message-ID: <202107030700.SB4h6CEa-lkp@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [102.222.70.252] X-ClientProxiedBy: JN2P275CA0003.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:3::15) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kadam (102.222.70.252) by JN2P275CA0003.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Sat, 3 Jul 2021 12:50:55 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ed4bed06-bcb9-4f11-0d41-08d93e213912 X-MS-TrafficTypeDiagnostic: CO1PR10MB4706: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:478; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ySullYMbLOYuScMCW8A6TeaN3jAExf3vmIRoT8o9HLpsCu/0fb9bA9hMcLlyl2Kjw3m0qXcm5tYUOqNIG1bwpEQ+N2AGjIRRYhj/60gaP0V4qkoAwj6m1dqwBBPG1EI+PDsDZjqlBIvUy+JvSXa/tHjDsDK6iMP75Rm/aK9TcMooC4sBTm+0rPeLJP+xS3QPXrC0hWFPXhmAxiS4efVMLQdOGRwvFyZhV9zycThXI6Cso9XprgJ8D1uWoBGrjlQfsY+2irs9NhSW8fQ8GXrsvhiMVh/NDFi70lBR6SpmmcqcGhne+vzJXnlzQpUymNIMMCsJ2djKYONDw5AcKKxGviQreHDTzhhVeTyEd46r91De8fCG67Ktukb+0f5WDrH6l59iF3jg/SCxffh+7FxjVQw9yTFgfFGAoJCzWjDri03E57M8O3HrZZ+T+EffqlECseSv2V5QAbiJcNZ77Z5TKf0wmjRI/S6tOJOJBQhvn150oC4qvXuklwRkD0cJG+27jIT5Tx+B46lL6uU06US2PZM1MxLF7SKNP13LCCdyoL4lafmqcGLZ1ZhDHY4iuYfEo2oTinW1NxcYVtIoRIb+3z2frxLJ7AyuR1Z6HEXyw8T74uvh9BjI8xx0tSa+crLEJiIj2LaeN/DPN8/AeqQAJQa/f7AgrC+6YWWF8nSVK8DYLNZwdO2+cko0TyCvLIKyaq7qLiS9gb5pN47IxzxHOELYe0KX2s5q6OXWC1f1faVOJuosFAAHLPCdhV+8Rt1lhw1IO7+R8GHgBLDA1Gqd5kkk55CYTKd9FP9ZrIBscKXYttaGAFuQmS/9eSE7iFVlIuT5Te2aYMuQUsBfGdfcYCNif3S9Od7lDC0RQqxxsN0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(39860400002)(346002)(396003)(376002)(47660400002)(9686003)(6486002)(8936002)(8676002)(66556008)(66476007)(1076003)(5660300002)(66946007)(6496006)(186003)(52116002)(26005)(4326008)(6666004)(956004)(6916009)(44832011)(966005)(316002)(86362001)(83380400001)(16526019)(2906002)(478600001)(38350700002)(38100700002)(36756003)(46800400005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JQ05LZoVTHs17avw2ENapsx+UJQce6u6jxReGw4qmPJTKmKxeqjacf4ZEHOR?= =?us-ascii?Q?J0wQD9qTH2sJBk4g1/AYagtqD48f05y6ZHINolmah88IvYwry8NmgWhYdw3s?= =?us-ascii?Q?ZmNqaowif3ncRDVYCKbQT9MdWOrMDUQrkh42ITdv9P1Vq0zp+Mwi7Q/P3oSA?= =?us-ascii?Q?Ij9lehmlFDvYmwotP1AtFdHu9IkR2E68P6Gi8TiENjjFei3aimvYAu6GDZe7?= =?us-ascii?Q?VJrN7Sa9r5XxuN7qunCJtSdIDCFQiZgKr4wa+KtMFXlVtdPOBCqgT5NTyBcR?= =?us-ascii?Q?i92XIJOVFMLMAMMIXX7wiyWB40mFM6iQFe0SoLDbM/eMYjEgd/RlYNG5wgvE?= =?us-ascii?Q?NB6BdhNHLvsmRGqF1ARC5gmA+qCDWoB9zNTKsM9svnpUbExLJEnm1an7jySH?= =?us-ascii?Q?vWShghz7ydY08Y7sXFwY6T9TCdZ5EIfbbu2we0YsXTeEUXUNiTaAcGhb/i5h?= =?us-ascii?Q?lCY3lUXiXZ8a65Je1uPtc/Gj1ZaxsAaH06E2/r0CF3xRJ6KjKYzhZCY6nEik?= =?us-ascii?Q?kSL2csrvn0xxXvScIud5dxBIbwBNlho3R8Hy5jYI87wwNQLcYyuN5Ph3k6R4?= =?us-ascii?Q?qV5f6aT/BAPJC6vi536ldANOjGRMp7vWD4oNyDC11Y7hxIHho3n0FeAUu4bZ?= =?us-ascii?Q?EcMflUCb01lDluZjjVWzy9Y4onrUxwwsH6pMSfeU+3j6RrCZj8eqyxAtwTCf?= =?us-ascii?Q?Rh2Nl/rCJSAnnMXDyiigvVqV5BTCDsf+JYU7Hwlyr9ZPHhQ5/5vE1eH2KOII?= =?us-ascii?Q?cKqKfT5edkqFUHwwgyIenvDPPJXkA0dtift89nw1OolazLM9QUcSbQcd3wY3?= =?us-ascii?Q?fHNe4LgFc6zxP5HIvmb+q5KQMKa65YaWOanmEZRle6V0MqMOxTQ+9sCaaDXa?= =?us-ascii?Q?ythyh1Ekl9TUFSxdIpBBKf6Ld/CTmyUQHfW6+X9zEvIjUAIycADJzmz1lNJ6?= =?us-ascii?Q?RpaCFL2cUdPW49rwh9oxFA9tjr+wgZQIwY4/ktv5wK6ubk6qwjL8whoW/vPe?= =?us-ascii?Q?pyeB9dMMH6ubUku33EwpLgaIt/qTSWGIZfHgnsdsRhbEWXgp1mIcn000lepR?= =?us-ascii?Q?jzKHnxijIZK131XpIQ9YILgn3adCtYYhSaY/cS6y6DiR2a7pkX99wk2fUula?= =?us-ascii?Q?j4YhYfPzqfqMeI4Ej95JLNr2sQU3eMpOBulEq922iJsmH/UYoOe2126PnM7n?= =?us-ascii?Q?4ucnb6wbwNNCCZ8OnpGxByxsqJR4KRE6NqPzVYHRKD6tgKu/IvZZmPTU9rFf?= =?us-ascii?Q?ICwT+PWvuZo2syBmt+wziuq+6FzlL6AN3S7ExP+x+HF/q4je5tOaeYxzLRTN?= =?us-ascii?Q?3Q7z5ilxcNkrc1ePw152SrUT?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed4bed06-bcb9-4f11-0d41-08d93e213912 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2021 12:51:06.7979 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Uk5bbrXhXW/70DPu+IhTRNDpMEF6R3ZuEQob2zUqFb4/0Jl1NdBUeW9AUDjw3dqvtUKHSH9e7WCOkBe5zKuVMOS2pP8WCDL52eATSKhKVGk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4706 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10033 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 phishscore=0 mlxscore=0 bulkscore=0 malwarescore=0 adultscore=0 mlxlogscore=946 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107030082 X-Proofpoint-GUID: ndT8ROq4a5P23-tmzTJtIjVzECh3NjJ- X-Proofpoint-ORIG-GUID: ndT8ROq4a5P23-tmzTJtIjVzECh3NjJ- Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 35e43538af8fd2cb39d58caca1134a87db173f75 commit: 76cde26394114f6af2710c6b2ad6854f1e8ee859 irqchip/apple-aic: Add support for the Apple Interrupt Controller config: arm64-randconfig-m031-20210702 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/irqchip/irq-apple-aic.c:849 aic_of_ic_init() warn: 'regs' not released on lines: 803. vim +/regs +849 drivers/irqchip/irq-apple-aic.c 76cde26394114f Hector Martin 2021-01-21 790 static int __init aic_of_ic_init(struct device_node *node, struct device_node *parent) 76cde26394114f Hector Martin 2021-01-21 791 { 76cde26394114f Hector Martin 2021-01-21 792 int i; 76cde26394114f Hector Martin 2021-01-21 793 void __iomem *regs; 76cde26394114f Hector Martin 2021-01-21 794 u32 info; 76cde26394114f Hector Martin 2021-01-21 795 struct aic_irq_chip *irqc; 76cde26394114f Hector Martin 2021-01-21 796 76cde26394114f Hector Martin 2021-01-21 797 regs = of_iomap(node, 0); 76cde26394114f Hector Martin 2021-01-21 798 if (WARN_ON(!regs)) 76cde26394114f Hector Martin 2021-01-21 799 return -EIO; 76cde26394114f Hector Martin 2021-01-21 800 76cde26394114f Hector Martin 2021-01-21 801 irqc = kzalloc(sizeof(*irqc), GFP_KERNEL); 76cde26394114f Hector Martin 2021-01-21 802 if (!irqc) 76cde26394114f Hector Martin 2021-01-21 803 return -ENOMEM; iounmap() before returning. 76cde26394114f Hector Martin 2021-01-21 804 76cde26394114f Hector Martin 2021-01-21 805 aic_irqc = irqc; 76cde26394114f Hector Martin 2021-01-21 806 irqc->base = regs; 76cde26394114f Hector Martin 2021-01-21 807 76cde26394114f Hector Martin 2021-01-21 808 info = aic_ic_read(irqc, AIC_INFO); 76cde26394114f Hector Martin 2021-01-21 809 irqc->nr_hw = FIELD_GET(AIC_INFO_NR_HW, info); 76cde26394114f Hector Martin 2021-01-21 810 76cde26394114f Hector Martin 2021-01-21 811 irqc->hw_domain = irq_domain_create_linear(of_node_to_fwnode(node), 76cde26394114f Hector Martin 2021-01-21 812 irqc->nr_hw + AIC_NR_FIQ, 76cde26394114f Hector Martin 2021-01-21 813 &aic_irq_domain_ops, irqc); 76cde26394114f Hector Martin 2021-01-21 814 if (WARN_ON(!irqc->hw_domain)) { 76cde26394114f Hector Martin 2021-01-21 815 iounmap(irqc->base); 76cde26394114f Hector Martin 2021-01-21 816 kfree(irqc); 76cde26394114f Hector Martin 2021-01-21 817 return -ENODEV; 76cde26394114f Hector Martin 2021-01-21 818 } 76cde26394114f Hector Martin 2021-01-21 819 76cde26394114f Hector Martin 2021-01-21 820 irq_domain_update_bus_token(irqc->hw_domain, DOMAIN_BUS_WIRED); 76cde26394114f Hector Martin 2021-01-21 821 76cde26394114f Hector Martin 2021-01-21 822 if (aic_init_smp(irqc, node)) { 76cde26394114f Hector Martin 2021-01-21 823 irq_domain_remove(irqc->hw_domain); 76cde26394114f Hector Martin 2021-01-21 824 iounmap(irqc->base); 76cde26394114f Hector Martin 2021-01-21 825 kfree(irqc); 76cde26394114f Hector Martin 2021-01-21 826 return -ENODEV; 76cde26394114f Hector Martin 2021-01-21 827 } 76cde26394114f Hector Martin 2021-01-21 828 76cde26394114f Hector Martin 2021-01-21 829 set_handle_irq(aic_handle_irq); 76cde26394114f Hector Martin 2021-01-21 830 set_handle_fiq(aic_handle_fiq); 76cde26394114f Hector Martin 2021-01-21 831 76cde26394114f Hector Martin 2021-01-21 832 for (i = 0; i < BITS_TO_U32(irqc->nr_hw); i++) 76cde26394114f Hector Martin 2021-01-21 833 aic_ic_write(irqc, AIC_MASK_SET + i * 4, U32_MAX); 76cde26394114f Hector Martin 2021-01-21 834 for (i = 0; i < BITS_TO_U32(irqc->nr_hw); i++) 76cde26394114f Hector Martin 2021-01-21 835 aic_ic_write(irqc, AIC_SW_CLR + i * 4, U32_MAX); 76cde26394114f Hector Martin 2021-01-21 836 for (i = 0; i < irqc->nr_hw; i++) 76cde26394114f Hector Martin 2021-01-21 837 aic_ic_write(irqc, AIC_TARGET_CPU + i * 4, 1); 76cde26394114f Hector Martin 2021-01-21 838 76cde26394114f Hector Martin 2021-01-21 839 if (!is_kernel_in_hyp_mode()) 76cde26394114f Hector Martin 2021-01-21 840 pr_info("Kernel running in EL1, mapping interrupts"); 76cde26394114f Hector Martin 2021-01-21 841 76cde26394114f Hector Martin 2021-01-21 842 cpuhp_setup_state(CPUHP_AP_IRQ_APPLE_AIC_STARTING, 76cde26394114f Hector Martin 2021-01-21 843 "irqchip/apple-aic/ipi:starting", 76cde26394114f Hector Martin 2021-01-21 844 aic_init_cpu, NULL); 76cde26394114f Hector Martin 2021-01-21 845 76cde26394114f Hector Martin 2021-01-21 846 pr_info("Initialized with %d IRQs, %d FIQs, %d vIPIs\n", 76cde26394114f Hector Martin 2021-01-21 847 irqc->nr_hw, AIC_NR_FIQ, AIC_NR_SWIPI); 76cde26394114f Hector Martin 2021-01-21 848 76cde26394114f Hector Martin 2021-01-21 @849 return 0; 76cde26394114f Hector Martin 2021-01-21 850 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0037250151519882774==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/irqchip/irq-apple-aic.c:849 aic_of_ic_init() warn: 'regs' not released on lines: 803. Date: Sat, 03 Jul 2021 07:37:07 +0800 Message-ID: <202107030700.SB4h6CEa-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============0037250151519882774== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Hector Martin CC: Marc Zyngier tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 35e43538af8fd2cb39d58caca1134a87db173f75 commit: 76cde26394114f6af2710c6b2ad6854f1e8ee859 irqchip/apple-aic: Add sup= port for the Apple Interrupt Controller date: 3 months ago :::::: branch date: 3 hours ago :::::: commit date: 3 months ago config: arm64-randconfig-m031-20210702 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/irqchip/irq-apple-aic.c:849 aic_of_ic_init() warn: 'regs' not relea= sed on lines: 803. vim +/regs +849 drivers/irqchip/irq-apple-aic.c 76cde26394114f Hector Martin 2021-01-21 789 = 76cde26394114f Hector Martin 2021-01-21 790 static int __init aic_of_ic_i= nit(struct device_node *node, struct device_node *parent) 76cde26394114f Hector Martin 2021-01-21 791 { 76cde26394114f Hector Martin 2021-01-21 792 int i; 76cde26394114f Hector Martin 2021-01-21 793 void __iomem *regs; 76cde26394114f Hector Martin 2021-01-21 794 u32 info; 76cde26394114f Hector Martin 2021-01-21 795 struct aic_irq_chip *irqc; 76cde26394114f Hector Martin 2021-01-21 796 = 76cde26394114f Hector Martin 2021-01-21 797 regs =3D of_iomap(node, 0); 76cde26394114f Hector Martin 2021-01-21 798 if (WARN_ON(!regs)) 76cde26394114f Hector Martin 2021-01-21 799 return -EIO; 76cde26394114f Hector Martin 2021-01-21 800 = 76cde26394114f Hector Martin 2021-01-21 801 irqc =3D kzalloc(sizeof(*irq= c), GFP_KERNEL); 76cde26394114f Hector Martin 2021-01-21 802 if (!irqc) 76cde26394114f Hector Martin 2021-01-21 803 return -ENOMEM; 76cde26394114f Hector Martin 2021-01-21 804 = 76cde26394114f Hector Martin 2021-01-21 805 aic_irqc =3D irqc; 76cde26394114f Hector Martin 2021-01-21 806 irqc->base =3D regs; 76cde26394114f Hector Martin 2021-01-21 807 = 76cde26394114f Hector Martin 2021-01-21 808 info =3D aic_ic_read(irqc, A= IC_INFO); 76cde26394114f Hector Martin 2021-01-21 809 irqc->nr_hw =3D FIELD_GET(AI= C_INFO_NR_HW, info); 76cde26394114f Hector Martin 2021-01-21 810 = 76cde26394114f Hector Martin 2021-01-21 811 irqc->hw_domain =3D irq_doma= in_create_linear(of_node_to_fwnode(node), 76cde26394114f Hector Martin 2021-01-21 812 irqc->nr_hw + AIC_NR= _FIQ, 76cde26394114f Hector Martin 2021-01-21 813 &aic_irq_domain_ops,= irqc); 76cde26394114f Hector Martin 2021-01-21 814 if (WARN_ON(!irqc->hw_domain= )) { 76cde26394114f Hector Martin 2021-01-21 815 iounmap(irqc->base); 76cde26394114f Hector Martin 2021-01-21 816 kfree(irqc); 76cde26394114f Hector Martin 2021-01-21 817 return -ENODEV; 76cde26394114f Hector Martin 2021-01-21 818 } 76cde26394114f Hector Martin 2021-01-21 819 = 76cde26394114f Hector Martin 2021-01-21 820 irq_domain_update_bus_token(= irqc->hw_domain, DOMAIN_BUS_WIRED); 76cde26394114f Hector Martin 2021-01-21 821 = 76cde26394114f Hector Martin 2021-01-21 822 if (aic_init_smp(irqc, node)= ) { 76cde26394114f Hector Martin 2021-01-21 823 irq_domain_remove(irqc->hw_= domain); 76cde26394114f Hector Martin 2021-01-21 824 iounmap(irqc->base); 76cde26394114f Hector Martin 2021-01-21 825 kfree(irqc); 76cde26394114f Hector Martin 2021-01-21 826 return -ENODEV; 76cde26394114f Hector Martin 2021-01-21 827 } 76cde26394114f Hector Martin 2021-01-21 828 = 76cde26394114f Hector Martin 2021-01-21 829 set_handle_irq(aic_handle_ir= q); 76cde26394114f Hector Martin 2021-01-21 830 set_handle_fiq(aic_handle_fi= q); 76cde26394114f Hector Martin 2021-01-21 831 = 76cde26394114f Hector Martin 2021-01-21 832 for (i =3D 0; i < BITS_TO_U3= 2(irqc->nr_hw); i++) 76cde26394114f Hector Martin 2021-01-21 833 aic_ic_write(irqc, AIC_MASK= _SET + i * 4, U32_MAX); 76cde26394114f Hector Martin 2021-01-21 834 for (i =3D 0; i < BITS_TO_U3= 2(irqc->nr_hw); i++) 76cde26394114f Hector Martin 2021-01-21 835 aic_ic_write(irqc, AIC_SW_C= LR + i * 4, U32_MAX); 76cde26394114f Hector Martin 2021-01-21 836 for (i =3D 0; i < irqc->nr_h= w; i++) 76cde26394114f Hector Martin 2021-01-21 837 aic_ic_write(irqc, AIC_TARG= ET_CPU + i * 4, 1); 76cde26394114f Hector Martin 2021-01-21 838 = 76cde26394114f Hector Martin 2021-01-21 839 if (!is_kernel_in_hyp_mode()) 76cde26394114f Hector Martin 2021-01-21 840 pr_info("Kernel running in = EL1, mapping interrupts"); 76cde26394114f Hector Martin 2021-01-21 841 = 76cde26394114f Hector Martin 2021-01-21 842 cpuhp_setup_state(CPUHP_AP_I= RQ_APPLE_AIC_STARTING, 76cde26394114f Hector Martin 2021-01-21 843 "irqchip/apple-aic/ipi:s= tarting", 76cde26394114f Hector Martin 2021-01-21 844 aic_init_cpu, NULL); 76cde26394114f Hector Martin 2021-01-21 845 = 76cde26394114f Hector Martin 2021-01-21 846 pr_info("Initialized with %d= IRQs, %d FIQs, %d vIPIs\n", 76cde26394114f Hector Martin 2021-01-21 847 irqc->nr_hw, AIC_NR_FIQ, AI= C_NR_SWIPI); 76cde26394114f Hector Martin 2021-01-21 848 = 76cde26394114f Hector Martin 2021-01-21 @849 return 0; 76cde26394114f Hector Martin 2021-01-21 850 } 76cde26394114f Hector Martin 2021-01-21 851 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============0037250151519882774== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============0037250151519882774==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0400626224698510411==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: drivers/irqchip/irq-apple-aic.c:849 aic_of_ic_init() warn: 'regs' not released on lines: 803. Date: Sat, 03 Jul 2021 15:50:36 +0300 Message-ID: <202107030700.SB4h6CEa-lkp@intel.com> List-Id: --===============0400626224698510411== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 35e43538af8fd2cb39d58caca1134a87db173f75 commit: 76cde26394114f6af2710c6b2ad6854f1e8ee859 irqchip/apple-aic: Add sup= port for the Apple Interrupt Controller config: arm64-randconfig-m031-20210702 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/irqchip/irq-apple-aic.c:849 aic_of_ic_init() warn: 'regs' not relea= sed on lines: 803. vim +/regs +849 drivers/irqchip/irq-apple-aic.c 76cde26394114f Hector Martin 2021-01-21 790 static int __init aic_of_ic_i= nit(struct device_node *node, struct device_node *parent) 76cde26394114f Hector Martin 2021-01-21 791 { 76cde26394114f Hector Martin 2021-01-21 792 int i; 76cde26394114f Hector Martin 2021-01-21 793 void __iomem *regs; 76cde26394114f Hector Martin 2021-01-21 794 u32 info; 76cde26394114f Hector Martin 2021-01-21 795 struct aic_irq_chip *irqc; 76cde26394114f Hector Martin 2021-01-21 796 = 76cde26394114f Hector Martin 2021-01-21 797 regs =3D of_iomap(node, 0); 76cde26394114f Hector Martin 2021-01-21 798 if (WARN_ON(!regs)) 76cde26394114f Hector Martin 2021-01-21 799 return -EIO; 76cde26394114f Hector Martin 2021-01-21 800 = 76cde26394114f Hector Martin 2021-01-21 801 irqc =3D kzalloc(sizeof(*irq= c), GFP_KERNEL); 76cde26394114f Hector Martin 2021-01-21 802 if (!irqc) 76cde26394114f Hector Martin 2021-01-21 803 return -ENOMEM; iounmap() before returning. 76cde26394114f Hector Martin 2021-01-21 804 = 76cde26394114f Hector Martin 2021-01-21 805 aic_irqc =3D irqc; 76cde26394114f Hector Martin 2021-01-21 806 irqc->base =3D regs; 76cde26394114f Hector Martin 2021-01-21 807 = 76cde26394114f Hector Martin 2021-01-21 808 info =3D aic_ic_read(irqc, A= IC_INFO); 76cde26394114f Hector Martin 2021-01-21 809 irqc->nr_hw =3D FIELD_GET(AI= C_INFO_NR_HW, info); 76cde26394114f Hector Martin 2021-01-21 810 = 76cde26394114f Hector Martin 2021-01-21 811 irqc->hw_domain =3D irq_doma= in_create_linear(of_node_to_fwnode(node), 76cde26394114f Hector Martin 2021-01-21 812 irqc->nr_hw + AIC_NR= _FIQ, 76cde26394114f Hector Martin 2021-01-21 813 &aic_irq_domain_ops,= irqc); 76cde26394114f Hector Martin 2021-01-21 814 if (WARN_ON(!irqc->hw_domain= )) { 76cde26394114f Hector Martin 2021-01-21 815 iounmap(irqc->base); 76cde26394114f Hector Martin 2021-01-21 816 kfree(irqc); 76cde26394114f Hector Martin 2021-01-21 817 return -ENODEV; 76cde26394114f Hector Martin 2021-01-21 818 } 76cde26394114f Hector Martin 2021-01-21 819 = 76cde26394114f Hector Martin 2021-01-21 820 irq_domain_update_bus_token(= irqc->hw_domain, DOMAIN_BUS_WIRED); 76cde26394114f Hector Martin 2021-01-21 821 = 76cde26394114f Hector Martin 2021-01-21 822 if (aic_init_smp(irqc, node)= ) { 76cde26394114f Hector Martin 2021-01-21 823 irq_domain_remove(irqc->hw_= domain); 76cde26394114f Hector Martin 2021-01-21 824 iounmap(irqc->base); 76cde26394114f Hector Martin 2021-01-21 825 kfree(irqc); 76cde26394114f Hector Martin 2021-01-21 826 return -ENODEV; 76cde26394114f Hector Martin 2021-01-21 827 } 76cde26394114f Hector Martin 2021-01-21 828 = 76cde26394114f Hector Martin 2021-01-21 829 set_handle_irq(aic_handle_ir= q); 76cde26394114f Hector Martin 2021-01-21 830 set_handle_fiq(aic_handle_fi= q); 76cde26394114f Hector Martin 2021-01-21 831 = 76cde26394114f Hector Martin 2021-01-21 832 for (i =3D 0; i < BITS_TO_U3= 2(irqc->nr_hw); i++) 76cde26394114f Hector Martin 2021-01-21 833 aic_ic_write(irqc, AIC_MASK= _SET + i * 4, U32_MAX); 76cde26394114f Hector Martin 2021-01-21 834 for (i =3D 0; i < BITS_TO_U3= 2(irqc->nr_hw); i++) 76cde26394114f Hector Martin 2021-01-21 835 aic_ic_write(irqc, AIC_SW_C= LR + i * 4, U32_MAX); 76cde26394114f Hector Martin 2021-01-21 836 for (i =3D 0; i < irqc->nr_h= w; i++) 76cde26394114f Hector Martin 2021-01-21 837 aic_ic_write(irqc, AIC_TARG= ET_CPU + i * 4, 1); 76cde26394114f Hector Martin 2021-01-21 838 = 76cde26394114f Hector Martin 2021-01-21 839 if (!is_kernel_in_hyp_mode()) 76cde26394114f Hector Martin 2021-01-21 840 pr_info("Kernel running in = EL1, mapping interrupts"); 76cde26394114f Hector Martin 2021-01-21 841 = 76cde26394114f Hector Martin 2021-01-21 842 cpuhp_setup_state(CPUHP_AP_I= RQ_APPLE_AIC_STARTING, 76cde26394114f Hector Martin 2021-01-21 843 "irqchip/apple-aic/ipi:s= tarting", 76cde26394114f Hector Martin 2021-01-21 844 aic_init_cpu, NULL); 76cde26394114f Hector Martin 2021-01-21 845 = 76cde26394114f Hector Martin 2021-01-21 846 pr_info("Initialized with %d= IRQs, %d FIQs, %d vIPIs\n", 76cde26394114f Hector Martin 2021-01-21 847 irqc->nr_hw, AIC_NR_FIQ, AI= C_NR_SWIPI); 76cde26394114f Hector Martin 2021-01-21 848 = 76cde26394114f Hector Martin 2021-01-21 @849 return 0; 76cde26394114f Hector Martin 2021-01-21 850 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============0400626224698510411==--