Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp4546956pxb; Wed, 20 Apr 2022 05:35:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwoQW/iC2TXt4lPfO67+zF45NyzEFlpxKMuf0/uEquzqMAXtaXvrLApbupXoCcOhWilPn9A X-Received: by 2002:a63:444f:0:b0:39d:3aa5:c9f0 with SMTP id t15-20020a63444f000000b0039d3aa5c9f0mr19355961pgk.363.1650458144696; Wed, 20 Apr 2022 05:35:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650458144; cv=none; d=google.com; s=arc-20160816; b=JbQX99wF2jQV6qAxp61Q04hk6/knv/qk/2+o1MN7Awvjg511fRzrFdO2Ff0v26oYWr UPjN+Uwpu4aP57kM6AGBzgeVFMyjoU7QSXN4YgjtlcK4LR19v2eAw53O7wYqZWxv9F5F 9xd3JULtd1rxL9JzhnGb8zvzpMpIwy4M6wQTf4BKtQmPYICg9jxPtr+EofagUvn06uWV HYX0WuibqhHA/fx5oRqN/Le08lnXrAK6/OklCLavKhLSxNserq3U++NvSGDasK9dZ64/ LN17zuaowWDxlWcDWCrdcQq1jvJOZFZEQKXBy8d6lp+Wf+IzXUMsWA0EKv5kph99zzVE BGVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=WaRzQ4klN9ADXoVL2/N/GdSyXHSUMyLkroRcRJGiyVo=; b=dU0zBH2vBmJhBZ7pa5kE4pbclRGrmDfFdlxRdLzGaMHAfL+vmQXibSuqDmDNaw0rqP y2TGW1bP372ORaNggWOJ13sj3wAj3J5W84pSh2phBtGDnbRmQDCzQFBtTE0mQ9064OxA yDcw4JJLilfdLvy886MCHil9nhxP//CW/T4uzf6nPcEuvlWqEIC4svQK3DI5e38jU/w4 XPzZmuDDONZ4OdldrNY7LZJdSxdGkdTSaRg87qm5rFfh4TmgiuErYdSwxXvK5OgLJ6Ck DnuMvAsX8+d176NO+zxyZi6yXyWV9j/ApsnSnGu3hi9j1aNx/yddlEHJqAGws3edXvhR tKOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dsrvHvVw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c33-20020a631c21000000b0039db6053613si2254557pgc.483.2022.04.20.05.35.29; Wed, 20 Apr 2022 05:35:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dsrvHvVw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1358144AbiDSWCu (ORCPT + 99 others); Tue, 19 Apr 2022 18:02:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232898AbiDSWCt (ORCPT ); Tue, 19 Apr 2022 18:02:49 -0400 Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com [IPv6:2607:f8b0:4864:20::b2f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08CEB22B0C for ; Tue, 19 Apr 2022 15:00:04 -0700 (PDT) Received: by mail-yb1-xb2f.google.com with SMTP id m132so33556250ybm.4 for ; Tue, 19 Apr 2022 15:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WaRzQ4klN9ADXoVL2/N/GdSyXHSUMyLkroRcRJGiyVo=; b=dsrvHvVw5CVTuYDjOZ4qvSA0xlGQ9a7GqFzdPXMtEddMQ65wpQPzZqOX/JbXwhprLR hPqkmxoXvBpkzvae2A5VxtWBiv9VY9kRWmXJ+gNgfr/J936VxV0clghSDI22NmxKt6B1 HK7/ftdE06eNgpBj5leo1XsK8IIFCdSEa9VpY+wehnw1M5Hh1AqCZmlTGeEQwdiqRty+ cW2dboQNQeR+KAybRGfQl22NikK/qMzaLhJ2IIcrKITmvBaledZvlBC39xLZDPSZ9+KJ JjPkH3I8poggbgEpZNVssMvzVQGwXLljvU6Em9lqaRW44S5WXiNBK0t6/gH/HIxRaWbv LmJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WaRzQ4klN9ADXoVL2/N/GdSyXHSUMyLkroRcRJGiyVo=; b=2DozSxqnYGlQhSoRTiGy7cWBTJlO3JG/IyQ4dIMO4cspR3N8cPBKFY9YDTRSqg/0eQ kyQecxci5S5ZPKF1UCYAq+gMxsYeCW6cmaZyBkl2kHijW3Re8DXEM/7/aTCNu33UvlDQ hAURfs4hmMEZqYGockYbMIpjjeu1Q0Ora5dsBfKPJiaVC/WFF2yMvY8XTase0wiVz7VO nOd/Y2Q1k1LdHfB4RZYCI7aNRfCMxy6H6mY5gfDSKBRxVdpPlwvx18O7gLtgHNzF8NKl a73IDt9LyL+VgB9YZ+mucPpzcc50a0khpE85icBWnemR6KVUX1d0EZDEDYV24rBlPLam 863Q== X-Gm-Message-State: AOAM531GRsoTxCHIgXj7d3SAqT1zy6kw+XvC825giaxo9kZGoZx8czVC ei1yIXO0F9iE0K5Ix/07dvo9YU86tHs8yMfOkWbq7Q== X-Received: by 2002:a25:a12a:0:b0:644:e94e:5844 with SMTP id z39-20020a25a12a000000b00644e94e5844mr12511065ybh.492.1650405602771; Tue, 19 Apr 2022 15:00:02 -0700 (PDT) MIME-Version: 1.0 References: <20220414025705.598-1-mario.limonciello@amd.com> In-Reply-To: <20220414025705.598-1-mario.limonciello@amd.com> From: Linus Walleij Date: Tue, 19 Apr 2022 23:59:51 +0200 Message-ID: Subject: Re: [PATCH] gpio: Request interrupts after IRQ is initialized To: Mario Limonciello Cc: Bartosz Golaszewski , Andy Shevchenko , Shreeya Patel , "open list:GPIO SUBSYSTEM" , open list , Basavaraj.Natikar@amd.com, Richard.Gong@amd.com, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 14, 2022 at 4:57 AM Mario Limonciello wrote: > commit 5467801f1fcb ("gpio: Restrict usage of GPIO chip irq members before > initialization") attempted to fix a race condition that lead to a NULL > pointer, but in the process caused a regression for _AEI/_EVT declared > GPIOs. This manifests in messages showing deferred probing while trying > to allocate IRQs like so: > > [ 0.688318] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0000 to IRQ, err -517 > [ 0.688337] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x002C to IRQ, err -517 > [ 0.688348] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003D to IRQ, err -517 > [ 0.688359] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003E to IRQ, err -517 > [ 0.688369] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003A to IRQ, err -517 > [ 0.688379] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x003B to IRQ, err -517 > [ 0.688389] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0002 to IRQ, err -517 > [ 0.688399] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0011 to IRQ, err -517 > [ 0.688410] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0012 to IRQ, err -517 > [ 0.688420] amd_gpio AMDI0030:00: Failed to translate GPIO pin 0x0007 to IRQ, err -517 > > The code for walking _AEI doesn't handle deferred probing and so this leads > to non-functional GPIO interrupts. > > Fix this issue by moving the call to `acpi_gpiochip_request_interrupts` to > occur after gc->irc.initialized is set. > > Cc: Shreeya Patel > Cc: stable@vger.kernel.org > Fixes: 5467801f1fcb ("gpio: Restrict usage of GPIO chip irq members before initialization") > Reported-by: Mario Limonciello > Link: https://lore.kernel.org/linux-gpio/BL1PR12MB51577A77F000A008AA694675E2EF9@BL1PR12MB5157.namprd12.prod.outlook.com/T/#u > Signed-off-by: Mario Limonciello Acked-by: Linus Walleij Yours, Linus Walleij