lkml.org 
[lkml]   [2021]   [Mar]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 307/775] power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression
    Date
    From: Tony Lindgren <tony@atomide.com>

    [ Upstream commit e62333e26be649bfc3c167b9f2bbca38b92332c5 ]

    Commit 25d76fed7ffe ("phy: cpcap-usb: Use IRQF_ONESHOT") started causing
    errors loading phy-cpcap-usb driver:

    cpcap_battery cpcap_battery.0: failed to register power supply
    genirq: Flags mismatch irq 211. 00002080 (se0conn) vs. 00000080 (se0conn)
    cpcap-usb-phy cpcap-usb-phy.0: could not get irq se0conn: -16

    Let's fix this by adding the missing IRQF_ONESHOT to also cpcap-battery
    and cpcap-charger drivers.

    Fixes: 25d76fed7ffe ("phy: cpcap-usb: Use IRQF_ONESHOT")
    Reported-by: Merlijn Wajer <merlijn@wizzup.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/power/supply/cpcap-battery.c | 2 +-
    drivers/power/supply/cpcap-charger.c | 2 +-
    2 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/power/supply/cpcap-battery.c b/drivers/power/supply/cpcap-battery.c
    index 295611b3b15e9..7a974b5bd9dd1 100644
    --- a/drivers/power/supply/cpcap-battery.c
    +++ b/drivers/power/supply/cpcap-battery.c
    @@ -666,7 +666,7 @@ static int cpcap_battery_init_irq(struct platform_device *pdev,

    error = devm_request_threaded_irq(ddata->dev, irq, NULL,
    cpcap_battery_irq_thread,
    - IRQF_SHARED,
    + IRQF_SHARED | IRQF_ONESHOT,
    name, ddata);
    if (error) {
    dev_err(ddata->dev, "could not get irq %s: %i\n",
    diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c
    index c0d452e3dc8b0..804ac7f84c301 100644
    --- a/drivers/power/supply/cpcap-charger.c
    +++ b/drivers/power/supply/cpcap-charger.c
    @@ -708,7 +708,7 @@ static int cpcap_usb_init_irq(struct platform_device *pdev,

    error = devm_request_threaded_irq(ddata->dev, irq, NULL,
    cpcap_charger_irq_thread,
    - IRQF_SHARED,
    + IRQF_SHARED | IRQF_ONESHOT,
    name, ddata);
    if (error) {
    dev_err(ddata->dev, "could not get irq %s: %i\n",
    --
    2.27.0


    \
     
     \ /
      Last update: 2021-03-02 03:40    [W:2.960 / U:1.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site