Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1230526

Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT

From Valentin Rothberg <valentinrothberg@gmail.com>
Newsgroups linux.kernel
Subject Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
Date 2015-09-22 19:30 +0200
Message-ID <qbzya-3xX-9@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Hi Sasha,

Julia forwarded the report (see below) to me.  Unless
IRQCHIP_ONESHOT_SAFE is set, requesting a threaded IRQ will always fail
when the primary handler is set to NULL.  In some cases there's a
potential to run into stack overflows.

I attached a patch that fixes the issue.

Kind regards,
 Valentin

---------- Forwarded message ----------
Date: Tue, 22 Sep 2015 21:42:18 +0800
From: kbuild test robot <fengguang.wu@intel.com>
To: kbuild@01.org
Cc: Julia Lawall <julia.lawall@lip6.fr>
Subject: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with no
    primary handler requested without IRQF_ONESHOT

TO: Sasha Levin <sasha.levin@oracle.com>
CC: kbuild-all@01.org
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

Hi Sasha,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   bcee19f424a0d8c26ecf2607b73c690802658b29
commit: 71458cfc782eafe4b27656e078d379a34e472adf kernel: add support for gcc 5
date:   11 months ago
:::::: branch date: 12 hours ago
:::::: commit date: 11 months ago

>> drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
   drivers/power/wm831x_power.c:579:7-27: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
   drivers/power/wm831x_power.c:592:8-28: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
--
>> drivers/power/88pm860x_battery.c:243:1-4: WARNING: end returns can be simpified if negative or 0 value

git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 71458cfc782eafe4b27656e078d379a34e472adf
vim +569 drivers/power/wm831x_power.c

35c3ae5e Mark Brown 2011-08-16  553  	if (ret < 0)
35c3ae5e Mark Brown 2011-08-16  554  		goto err_wall;
35c3ae5e Mark Brown 2011-08-16  555  	power->have_battery = ret & WM831X_CHG_ENA;
35c3ae5e Mark Brown 2011-08-16  556
35c3ae5e Mark Brown 2011-08-16  557  	if (power->have_battery) {
35c3ae5e Mark Brown 2011-08-16  558  		    battery->name = power->battery_name;
35c3ae5e Mark Brown 2011-08-16  559  		    battery->properties = wm831x_bat_props;
35c3ae5e Mark Brown 2011-08-16  560  		    battery->num_properties = ARRAY_SIZE(wm831x_bat_props);
35c3ae5e Mark Brown 2011-08-16  561  		    battery->get_property = wm831x_bat_get_prop;
35c3ae5e Mark Brown 2011-08-16  562  		    battery->use_for_apm = 1;
35c3ae5e Mark Brown 2011-08-16  563  		    ret = power_supply_register(&pdev->dev, battery);
35c3ae5e Mark Brown 2011-08-16  564  		    if (ret)
35c3ae5e Mark Brown 2011-08-16  565  			    goto err_usb;
35c3ae5e Mark Brown 2011-08-16  566  	}
3961f7c3 Mark Brown 2009-08-10  567
cd99758b Mark Brown 2012-05-14  568  	irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
b5874f33 Mark Brown 2010-03-10 @569  	ret = request_threaded_irq(irq, NULL, wm831x_syslo_irq,
b5874f33 Mark Brown 2010-03-10  570  				   IRQF_TRIGGER_RISING, "System power low",
3961f7c3 Mark Brown 2009-08-10  571  				   power);
3961f7c3 Mark Brown 2009-08-10  572  	if (ret != 0) {
3961f7c3 Mark Brown 2009-08-10  573  		dev_err(&pdev->dev, "Failed to request SYSLO IRQ %d: %d\n",
3961f7c3 Mark Brown 2009-08-10  574  			irq, ret);
35c3ae5e Mark Brown 2011-08-16  575  		goto err_battery;
3961f7c3 Mark Brown 2009-08-10  576  	}
3961f7c3 Mark Brown 2009-08-10  577

:::::: The code at line 569 was first introduced by commit
:::::: b5874f33bbaf00586d05de37706491ee37057e11 wm831x_power: Use genirq

:::::: TO: Mark Brown <broonie@opensource.wolfsonmicro.com>
:::::: CC: Anton Vorontsov <cbouatmailru@gmail.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with  no primary handler requested without IRQF_ONESHOT Valentin Rothberg <valentinrothberg@gmail.com> - 2015-09-22 19:30 +0200
  Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with  no primary handler requested without IRQF_ONESHOT Sasha Levin <sasha.levin@oracle.com> - 2015-09-22 21:50 +0200
    Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with  no primary handler requested without IRQF_ONESHOT Valentin Rothberg <valentinrothberg@gmail.com> - 2015-09-22 22:10 +0200
      Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with  no primary handler requested without IRQF_ONESHOT Sebastian Reichel <sre@kernel.org> - 2015-09-26 19:00 +0200
  Re: drivers/power/wm831x_power.c:569:7-27: ERROR: Threaded IRQ with  no primary handler requested without IRQF_ONESHOT Sebastian Reichel <sre@kernel.org> - 2015-09-26 19:30 +0200

csiph-web