* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-09-30 20:07 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-09-30 20:07 UTC (permalink / raw) To: rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, eric.y.miao, utx Cc: linux-input Hi! It complains about unbalanced irq 113 wake disable. That one belongs to matrix-keypad... Pavel spend leds spitz:green:hddactivity: legacy class suspend leds spitz:amber:charge: legacy class suspend input input1: type suspend input input0: type suspend mtd mtd2ro: legacy class suspend mtd mtd2: legacy class suspend mtd mtd1ro: legacy class suspend mtd mtd1: legacy class suspend mtd mtd0ro: legacy class suspend mtd mtd0: legacy class suspend serial8250 serial8250: suspend backlight corgi_bl: legacy class suspend sharpsl-pm sharpsl-pm: suspend pxa2xx-pcmcia pxa2xx-pcmcia: suspend platform regulatory.0: suspend i2c i2c-0: legacy suspend max1111 spi2.2: legacy suspend corgi-lcd spi2.1: legacy suspend ads7846 spi2.0: legacy suspend sharp-scoop sharp-scoop.1: suspend pxa2xx-i2c pxa2xx-i2c.0: suspend pxa2xx-fb pxa2xx-fb: suspend platform pxa2xx-ir: suspend platform pxa27x-ohci: suspend pxa2xx-mci pxa2xx-mci.0: suspend platform physmap-flash: suspend sharpsl-nand sharpsl-nand: suspend leds-gpio leds-gpio: suspend matrix-keypad matrix-keypad: suspend, may wakeup sharp-scoop sharp-scoop.0: suspend pxa2xx-spi pxa2xx-spi.2: suspend platform pxa27x-pwm.1: suspend platform pxa27x-pwm.0: suspend pxa27x-ssp pxa27x-ssp.2: suspend pxa27x-ssp pxa27x-ssp.1: suspend pxa27x-ssp pxa27x-ssp.0: suspend platform pxa-rtc: suspend platform sa1100-rtc: suspend platform pxa2xx-i2s: suspend platform pxa2xx-uart.2: suspend platform pxa2xx-uart.1: suspend platform pxa2xx-uart.0: suspend platform pxa27x-udc: suspend serial8250 serial8250: LATE suspend sharpsl-pm sharpsl-pm: LATE suspend pxa2xx-pcmcia pxa2xx-pcmcia: LATE suspend platform regulatory.0: LATE suspend sharp-scoop sharp-scoop.1: LATE suspend pxa2xx-i2c pxa2xx-i2c.0: LATE suspend pxa2xx-fb pxa2xx-fb: LATE suspend platform pxa2xx-ir: LATE suspend platform pxa27x-ohci: LATE suspend pxa2xx-mci pxa2xx-mci.0: LATE suspend platform physmap-flash: LATE suspend sharpsl-nand sharpsl-nand: LATE suspend leds-gpio leds-gpio: LATE suspend matrix-keypad matrix-keypad: LATE suspend, may wakeup sharp-scoop sharp-scoop.0: LATE suspend pxa2xx-spi pxa2xx-spi.2: LATE suspend platform pxa27x-pwm.1: LATE suspend platform pxa27x-pwm.0: LATE suspend pxa27x-ssp pxa27x-ssp.2: LATE suspend pxa27x-ssp pxa27x-ssp.1: LATE suspend pxa27x-ssp pxa27x-ssp.0: LATE suspend platform pxa-rtc: LATE suspend platform sa1100-rtc: LATE suspend platform pxa2xx-i2s: LATE suspend platform pxa2xx-uart.2: LATE suspend platform pxa2xx-uart.1: LATE suspend platform pxa2xx-uart.0: LATE suspend platform pxa27x-udc: LATE suspend suspend debug: Waiting for 5 seconds. platform pxa27x-udc: EARLY resume platform pxa2xx-uart.0: EARLY resume platform pxa2xx-uart.1: EARLY resume platform pxa2xx-uart.2: EARLY resume platform pxa2xx-i2s: EARLY resume platform sa1100-rtc: EARLY resume platform pxa-rtc: EARLY resume pxa27x-ssp pxa27x-ssp.0: EARLY resume pxa27x-ssp pxa27x-ssp.1: EARLY resume pxa27x-ssp pxa27x-ssp.2: EARLY resume platform pxa27x-pwm.0: EARLY resume platform pxa27x-pwm.1: EARLY resume pxa2xx-spi pxa2xx-spi.2: EARLY resume sharp-scoop sharp-scoop.0: EARLY resume matrix-keypad matrix-keypad: EARLY resume leds-gpio leds-gpio: EARLY resume sharpsl-nand sharpsl-nand: EARLY resume platform physmap-flash: EARLY resume pxa2xx-mci pxa2xx-mci.0: EARLY resume platform pxa27x-ohci: EARLY resume platform pxa2xx-ir: EARLY resume pxa2xx-fb pxa2xx-fb: EARLY resume pxa2xx-i2c pxa2xx-i2c.0: EARLY resume sharp-scoop sharp-scoop.1: EARLY resume platform regulatory.0: EARLY resume pxa2xx-pcmcia pxa2xx-pcmcia: EARLY resume sharpsl-pm sharpsl-pm: EARLY resume serial8250 serial8250: EARLY resume platform pxa27x-udc: resume platform pxa2xx-uart.0: resume platform pxa2xx-uart.1: resume platform pxa2xx-uart.2: resume platform pxa2xx-i2s: resume platform sa1100-rtc: resume platform pxa-rtc: resume pxa27x-ssp pxa27x-ssp.0: resume pxa27x-ssp pxa27x-ssp.1: resume pxa27x-ssp pxa27x-ssp.2: resume platform pxa27x-pwm.0: resume platform pxa27x-pwm.1: resume pxa2xx-spi pxa2xx-spi.2: resume sharp-scoop sharp-scoop.0: resume matrix-keypad matrix-keypad: resume ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 113 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f7 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 187 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f8 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 130 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f9 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 132 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fa ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 134 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fb ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 135 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fc ]--- leds-gpio leds-gpio: resume sharpsl-nand sharpsl-nand: resume platform physmap-flash: resume pxa2xx-mci pxa2xx-mci.0: resume platform pxa27x-ohci: resume platform pxa2xx-ir: resume pxa2xx-fb pxa2xx-fb: resume pxa2xx-i2c pxa2xx-i2c.0: resume sharp-scoop sharp-scoop.1: resume ads7846 spi2.0: legacy resume corgi-lcd spi2.1: legacy resume max1111 spi2.2: legacy resume i2c i2c-0: legacy resume platform regulatory.0: resume pxa2xx-pcmcia pxa2xx-pcmcia: resume sharpsl-pm sharpsl-pm: resume backlight corgi_bl: legacy class resume serial8250 serial8250: resume mtd mtd0: legacy class resume mtd mtd0ro: legacy class resume mtd mtd1: legacy class resume mtd mtd1ro: legacy class resume mtd mtd2: legacy class resume mtd mtd2ro: legacy class resume input input0: type resume input input1: type resume leds spitz:amber:charge: legacy class resume leds spitz:green:hddactivity: legacy class resume ide-cs 1.0: legacy resume ide-gd 0.0: legacy resume serial8250 serial8250: completing resume sharpsl-pm sharpsl-pm: completing resume pxa2xx-pcmcia pxa2xx-pcmcia: completing resume platform regulatory.0: completing resume sharp-scoop sharp-scoop.1: completing resume pxa2xx-i2c pxa2xx-i2c.0: completing resume pxa2xx-fb pxa2xx-fb: completing resume platform pxa2xx-ir: completing resume platform pxa27x-ohci: completing resume pxa2xx-mci pxa2xx-mci.0: completing resume platform physmap-flash: completing resume sharpsl-nand sharpsl-nand: completing resume leds-gpio leds-gpio: completing resume matrix-keypad matrix-keypad: completing resume sharp-scoop sharp-scoop.0: completing resume pxa2xx-spi pxa2xx-spi.2: completing resume platform pxa27x-pwm.1: completing resume platform pxa27x-pwm.0: completing resume pxa27x-ssp pxa27x-ssp.2: completing resume pxa27x-ssp pxa27x-ssp.1: completing resume pxa27x-ssp pxa27x-ssp.0: completing resume platform pxa-rtc: completing resume platform sa1100-rtc: completing resume platform pxa2xx-i2s: completing resume platform pxa2xx-uart.2: completing resume platform pxa2xx-uart.1: completing resume platform pxa2xx-uart.0: completing resume platform pxa27x-udc: completing resume PM: Finishing wakeup. Restarting tasks ... done. hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: status error: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc5 hda: no DRQ after issuing MULTWRITE ide0: reset: success sharpsl-pm sharpsl-pm: Error: AC check failed. sharpsl-pm sharpsl-pm: Charging Error! sharpsl-pm sharpsl-pm: Error: AC check failed. sharpsl-pm sharpsl-pm: Charging Error! -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-09-30 20:07 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-09-30 20:07 UTC (permalink / raw) To: linux-arm-kernel Hi! It complains about unbalanced irq 113 wake disable. That one belongs to matrix-keypad... Pavel spend leds spitz:green:hddactivity: legacy class suspend leds spitz:amber:charge: legacy class suspend input input1: type suspend input input0: type suspend mtd mtd2ro: legacy class suspend mtd mtd2: legacy class suspend mtd mtd1ro: legacy class suspend mtd mtd1: legacy class suspend mtd mtd0ro: legacy class suspend mtd mtd0: legacy class suspend serial8250 serial8250: suspend backlight corgi_bl: legacy class suspend sharpsl-pm sharpsl-pm: suspend pxa2xx-pcmcia pxa2xx-pcmcia: suspend platform regulatory.0: suspend i2c i2c-0: legacy suspend max1111 spi2.2: legacy suspend corgi-lcd spi2.1: legacy suspend ads7846 spi2.0: legacy suspend sharp-scoop sharp-scoop.1: suspend pxa2xx-i2c pxa2xx-i2c.0: suspend pxa2xx-fb pxa2xx-fb: suspend platform pxa2xx-ir: suspend platform pxa27x-ohci: suspend pxa2xx-mci pxa2xx-mci.0: suspend platform physmap-flash: suspend sharpsl-nand sharpsl-nand: suspend leds-gpio leds-gpio: suspend matrix-keypad matrix-keypad: suspend, may wakeup sharp-scoop sharp-scoop.0: suspend pxa2xx-spi pxa2xx-spi.2: suspend platform pxa27x-pwm.1: suspend platform pxa27x-pwm.0: suspend pxa27x-ssp pxa27x-ssp.2: suspend pxa27x-ssp pxa27x-ssp.1: suspend pxa27x-ssp pxa27x-ssp.0: suspend platform pxa-rtc: suspend platform sa1100-rtc: suspend platform pxa2xx-i2s: suspend platform pxa2xx-uart.2: suspend platform pxa2xx-uart.1: suspend platform pxa2xx-uart.0: suspend platform pxa27x-udc: suspend serial8250 serial8250: LATE suspend sharpsl-pm sharpsl-pm: LATE suspend pxa2xx-pcmcia pxa2xx-pcmcia: LATE suspend platform regulatory.0: LATE suspend sharp-scoop sharp-scoop.1: LATE suspend pxa2xx-i2c pxa2xx-i2c.0: LATE suspend pxa2xx-fb pxa2xx-fb: LATE suspend platform pxa2xx-ir: LATE suspend platform pxa27x-ohci: LATE suspend pxa2xx-mci pxa2xx-mci.0: LATE suspend platform physmap-flash: LATE suspend sharpsl-nand sharpsl-nand: LATE suspend leds-gpio leds-gpio: LATE suspend matrix-keypad matrix-keypad: LATE suspend, may wakeup sharp-scoop sharp-scoop.0: LATE suspend pxa2xx-spi pxa2xx-spi.2: LATE suspend platform pxa27x-pwm.1: LATE suspend platform pxa27x-pwm.0: LATE suspend pxa27x-ssp pxa27x-ssp.2: LATE suspend pxa27x-ssp pxa27x-ssp.1: LATE suspend pxa27x-ssp pxa27x-ssp.0: LATE suspend platform pxa-rtc: LATE suspend platform sa1100-rtc: LATE suspend platform pxa2xx-i2s: LATE suspend platform pxa2xx-uart.2: LATE suspend platform pxa2xx-uart.1: LATE suspend platform pxa2xx-uart.0: LATE suspend platform pxa27x-udc: LATE suspend suspend debug: Waiting for 5 seconds. platform pxa27x-udc: EARLY resume platform pxa2xx-uart.0: EARLY resume platform pxa2xx-uart.1: EARLY resume platform pxa2xx-uart.2: EARLY resume platform pxa2xx-i2s: EARLY resume platform sa1100-rtc: EARLY resume platform pxa-rtc: EARLY resume pxa27x-ssp pxa27x-ssp.0: EARLY resume pxa27x-ssp pxa27x-ssp.1: EARLY resume pxa27x-ssp pxa27x-ssp.2: EARLY resume platform pxa27x-pwm.0: EARLY resume platform pxa27x-pwm.1: EARLY resume pxa2xx-spi pxa2xx-spi.2: EARLY resume sharp-scoop sharp-scoop.0: EARLY resume matrix-keypad matrix-keypad: EARLY resume leds-gpio leds-gpio: EARLY resume sharpsl-nand sharpsl-nand: EARLY resume platform physmap-flash: EARLY resume pxa2xx-mci pxa2xx-mci.0: EARLY resume platform pxa27x-ohci: EARLY resume platform pxa2xx-ir: EARLY resume pxa2xx-fb pxa2xx-fb: EARLY resume pxa2xx-i2c pxa2xx-i2c.0: EARLY resume sharp-scoop sharp-scoop.1: EARLY resume platform regulatory.0: EARLY resume pxa2xx-pcmcia pxa2xx-pcmcia: EARLY resume sharpsl-pm sharpsl-pm: EARLY resume serial8250 serial8250: EARLY resume platform pxa27x-udc: resume platform pxa2xx-uart.0: resume platform pxa2xx-uart.1: resume platform pxa2xx-uart.2: resume platform pxa2xx-i2s: resume platform sa1100-rtc: resume platform pxa-rtc: resume pxa27x-ssp pxa27x-ssp.0: resume pxa27x-ssp pxa27x-ssp.1: resume pxa27x-ssp pxa27x-ssp.2: resume platform pxa27x-pwm.0: resume platform pxa27x-pwm.1: resume pxa2xx-spi pxa2xx-spi.2: resume sharp-scoop sharp-scoop.0: resume matrix-keypad matrix-keypad: resume ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 113 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f7 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 187 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f8 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 130 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f9 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 132 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fa ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 134 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fb ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 135 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fc ]--- leds-gpio leds-gpio: resume sharpsl-nand sharpsl-nand: resume platform physmap-flash: resume pxa2xx-mci pxa2xx-mci.0: resume platform pxa27x-ohci: resume platform pxa2xx-ir: resume pxa2xx-fb pxa2xx-fb: resume pxa2xx-i2c pxa2xx-i2c.0: resume sharp-scoop sharp-scoop.1: resume ads7846 spi2.0: legacy resume corgi-lcd spi2.1: legacy resume max1111 spi2.2: legacy resume i2c i2c-0: legacy resume platform regulatory.0: resume pxa2xx-pcmcia pxa2xx-pcmcia: resume sharpsl-pm sharpsl-pm: resume backlight corgi_bl: legacy class resume serial8250 serial8250: resume mtd mtd0: legacy class resume mtd mtd0ro: legacy class resume mtd mtd1: legacy class resume mtd mtd1ro: legacy class resume mtd mtd2: legacy class resume mtd mtd2ro: legacy class resume input input0: type resume input input1: type resume leds spitz:amber:charge: legacy class resume leds spitz:green:hddactivity: legacy class resume ide-cs 1.0: legacy resume ide-gd 0.0: legacy resume serial8250 serial8250: completing resume sharpsl-pm sharpsl-pm: completing resume pxa2xx-pcmcia pxa2xx-pcmcia: completing resume platform regulatory.0: completing resume sharp-scoop sharp-scoop.1: completing resume pxa2xx-i2c pxa2xx-i2c.0: completing resume pxa2xx-fb pxa2xx-fb: completing resume platform pxa2xx-ir: completing resume platform pxa27x-ohci: completing resume pxa2xx-mci pxa2xx-mci.0: completing resume platform physmap-flash: completing resume sharpsl-nand sharpsl-nand: completing resume leds-gpio leds-gpio: completing resume matrix-keypad matrix-keypad: completing resume sharp-scoop sharp-scoop.0: completing resume pxa2xx-spi pxa2xx-spi.2: completing resume platform pxa27x-pwm.1: completing resume platform pxa27x-pwm.0: completing resume pxa27x-ssp pxa27x-ssp.2: completing resume pxa27x-ssp pxa27x-ssp.1: completing resume pxa27x-ssp pxa27x-ssp.0: completing resume platform pxa-rtc: completing resume platform sa1100-rtc: completing resume platform pxa2xx-i2s: completing resume platform pxa2xx-uart.2: completing resume platform pxa2xx-uart.1: completing resume platform pxa2xx-uart.0: completing resume platform pxa27x-udc: completing resume PM: Finishing wakeup. Restarting tasks ... done. hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: status error: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc5 hda: no DRQ after issuing MULTWRITE ide0: reset: success sharpsl-pm sharpsl-pm: Error: AC check failed. sharpsl-pm sharpsl-pm: Charging Error! sharpsl-pm sharpsl-pm: Error: AC check failed. sharpsl-pm sharpsl-pm: Charging Error! -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-09-30 20:07 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-09-30 20:07 UTC (permalink / raw) To: rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-a Cc: linux-input Hi! It complains about unbalanced irq 113 wake disable. That one belongs to matrix-keypad... Pavel spend leds spitz:green:hddactivity: legacy class suspend leds spitz:amber:charge: legacy class suspend input input1: type suspend input input0: type suspend mtd mtd2ro: legacy class suspend mtd mtd2: legacy class suspend mtd mtd1ro: legacy class suspend mtd mtd1: legacy class suspend mtd mtd0ro: legacy class suspend mtd mtd0: legacy class suspend serial8250 serial8250: suspend backlight corgi_bl: legacy class suspend sharpsl-pm sharpsl-pm: suspend pxa2xx-pcmcia pxa2xx-pcmcia: suspend platform regulatory.0: suspend i2c i2c-0: legacy suspend max1111 spi2.2: legacy suspend corgi-lcd spi2.1: legacy suspend ads7846 spi2.0: legacy suspend sharp-scoop sharp-scoop.1: suspend pxa2xx-i2c pxa2xx-i2c.0: suspend pxa2xx-fb pxa2xx-fb: suspend platform pxa2xx-ir: suspend platform pxa27x-ohci: suspend pxa2xx-mci pxa2xx-mci.0: suspend platform physmap-flash: suspend sharpsl-nand sharpsl-nand: suspend leds-gpio leds-gpio: suspend matrix-keypad matrix-keypad: suspend, may wakeup sharp-scoop sharp-scoop.0: suspend pxa2xx-spi pxa2xx-spi.2: suspend platform pxa27x-pwm.1: suspend platform pxa27x-pwm.0: suspend pxa27x-ssp pxa27x-ssp.2: suspend pxa27x-ssp pxa27x-ssp.1: suspend pxa27x-ssp pxa27x-ssp.0: suspend platform pxa-rtc: suspend platform sa1100-rtc: suspend platform pxa2xx-i2s: suspend platform pxa2xx-uart.2: suspend platform pxa2xx-uart.1: suspend platform pxa2xx-uart.0: suspend platform pxa27x-udc: suspend serial8250 serial8250: LATE suspend sharpsl-pm sharpsl-pm: LATE suspend pxa2xx-pcmcia pxa2xx-pcmcia: LATE suspend platform regulatory.0: LATE suspend sharp-scoop sharp-scoop.1: LATE suspend pxa2xx-i2c pxa2xx-i2c.0: LATE suspend pxa2xx-fb pxa2xx-fb: LATE suspend platform pxa2xx-ir: LATE suspend platform pxa27x-ohci: LATE suspend pxa2xx-mci pxa2xx-mci.0: LATE suspend platform physmap-flash: LATE suspend sharpsl-nand sharpsl-nand: LATE suspend leds-gpio leds-gpio: LATE suspend matrix-keypad matrix-keypad: LATE suspend, may wakeup sharp-scoop sharp-scoop.0: LATE suspend pxa2xx-spi pxa2xx-spi.2: LATE suspend platform pxa27x-pwm.1: LATE suspend platform pxa27x-pwm.0: LATE suspend pxa27x-ssp pxa27x-ssp.2: LATE suspend pxa27x-ssp pxa27x-ssp.1: LATE suspend pxa27x-ssp pxa27x-ssp.0: LATE suspend platform pxa-rtc: LATE suspend platform sa1100-rtc: LATE suspend platform pxa2xx-i2s: LATE suspend platform pxa2xx-uart.2: LATE suspend platform pxa2xx-uart.1: LATE suspend platform pxa2xx-uart.0: LATE suspend platform pxa27x-udc: LATE suspend suspend debug: Waiting for 5 seconds. platform pxa27x-udc: EARLY resume platform pxa2xx-uart.0: EARLY resume platform pxa2xx-uart.1: EARLY resume platform pxa2xx-uart.2: EARLY resume platform pxa2xx-i2s: EARLY resume platform sa1100-rtc: EARLY resume platform pxa-rtc: EARLY resume pxa27x-ssp pxa27x-ssp.0: EARLY resume pxa27x-ssp pxa27x-ssp.1: EARLY resume pxa27x-ssp pxa27x-ssp.2: EARLY resume platform pxa27x-pwm.0: EARLY resume platform pxa27x-pwm.1: EARLY resume pxa2xx-spi pxa2xx-spi.2: EARLY resume sharp-scoop sharp-scoop.0: EARLY resume matrix-keypad matrix-keypad: EARLY resume leds-gpio leds-gpio: EARLY resume sharpsl-nand sharpsl-nand: EARLY resume platform physmap-flash: EARLY resume pxa2xx-mci pxa2xx-mci.0: EARLY resume platform pxa27x-ohci: EARLY resume platform pxa2xx-ir: EARLY resume pxa2xx-fb pxa2xx-fb: EARLY resume pxa2xx-i2c pxa2xx-i2c.0: EARLY resume sharp-scoop sharp-scoop.1: EARLY resume platform regulatory.0: EARLY resume pxa2xx-pcmcia pxa2xx-pcmcia: EARLY resume sharpsl-pm sharpsl-pm: EARLY resume serial8250 serial8250: EARLY resume platform pxa27x-udc: resume platform pxa2xx-uart.0: resume platform pxa2xx-uart.1: resume platform pxa2xx-uart.2: resume platform pxa2xx-i2s: resume platform sa1100-rtc: resume platform pxa-rtc: resume pxa27x-ssp pxa27x-ssp.0: resume pxa27x-ssp pxa27x-ssp.1: resume pxa27x-ssp pxa27x-ssp.2: resume platform pxa27x-pwm.0: resume platform pxa27x-pwm.1: resume pxa2xx-spi pxa2xx-spi.2: resume sharp-scoop sharp-scoop.0: resume matrix-keypad matrix-keypad: resume ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 113 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f7 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 187 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f8 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 130 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339f9 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 132 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fa ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 134 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fb ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 135 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) [<c01d0484>] (matrix_keypad_resume+0x6c/0x8c) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace e1f70a99626339fc ]--- leds-gpio leds-gpio: resume sharpsl-nand sharpsl-nand: resume platform physmap-flash: resume pxa2xx-mci pxa2xx-mci.0: resume platform pxa27x-ohci: resume platform pxa2xx-ir: resume pxa2xx-fb pxa2xx-fb: resume pxa2xx-i2c pxa2xx-i2c.0: resume sharp-scoop sharp-scoop.1: resume ads7846 spi2.0: legacy resume corgi-lcd spi2.1: legacy resume max1111 spi2.2: legacy resume i2c i2c-0: legacy resume platform regulatory.0: resume pxa2xx-pcmcia pxa2xx-pcmcia: resume sharpsl-pm sharpsl-pm: resume backlight corgi_bl: legacy class resume serial8250 serial8250: resume mtd mtd0: legacy class resume mtd mtd0ro: legacy class resume mtd mtd1: legacy class resume mtd mtd1ro: legacy class resume mtd mtd2: legacy class resume mtd mtd2ro: legacy class resume input input0: type resume input input1: type resume leds spitz:amber:charge: legacy class resume leds spitz:green:hddactivity: legacy class resume ide-cs 1.0: legacy resume ide-gd 0.0: legacy resume serial8250 serial8250: completing resume sharpsl-pm sharpsl-pm: completing resume pxa2xx-pcmcia pxa2xx-pcmcia: completing resume platform regulatory.0: completing resume sharp-scoop sharp-scoop.1: completing resume pxa2xx-i2c pxa2xx-i2c.0: completing resume pxa2xx-fb pxa2xx-fb: completing resume platform pxa2xx-ir: completing resume platform pxa27x-ohci: completing resume pxa2xx-mci pxa2xx-mci.0: completing resume platform physmap-flash: completing resume sharpsl-nand sharpsl-nand: completing resume leds-gpio leds-gpio: completing resume matrix-keypad matrix-keypad: completing resume sharp-scoop sharp-scoop.0: completing resume pxa2xx-spi pxa2xx-spi.2: completing resume platform pxa27x-pwm.1: completing resume platform pxa27x-pwm.0: completing resume pxa27x-ssp pxa27x-ssp.2: completing resume pxa27x-ssp pxa27x-ssp.1: completing resume pxa27x-ssp pxa27x-ssp.0: completing resume platform pxa-rtc: completing resume platform sa1100-rtc: completing resume platform pxa2xx-i2s: completing resume platform pxa2xx-uart.2: completing resume platform pxa2xx-uart.1: completing resume platform pxa2xx-uart.0: completing resume platform pxa27x-udc: completing resume PM: Finishing wakeup. Restarting tasks ... done. hda: status error: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: status error: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc5 hda: no DRQ after issuing MULTWRITE ide0: reset: success sharpsl-pm sharpsl-pm: Error: AC check failed. sharpsl-pm sharpsl-pm: Charging Error! sharpsl-pm sharpsl-pm: Error: AC check failed. sharpsl-pm sharpsl-pm: Charging Error! -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-09-30 20:07 ` Pavel Machek (?) @ 2009-10-06 5:06 ` Dmitry Torokhov -1 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-06 5:06 UTC (permalink / raw) To: Pavel Machek Cc: rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, eric.y.miao, utx, linux-input Hi Pavel, On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > Hi! > > It complains about unbalanced irq 113 wake disable. That one belongs > to matrix-keypad... I guess some of enable_irq_wake()s fail on your box. Do you see it if you apply the patch below? Thanks. -- Dmitry Input: matrix-keypad - report errors from enable_irq_wake() From: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> --- drivers/input/keyboard/matrix_keypad.c | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 91cfe51..488171c 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -218,14 +218,29 @@ static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t stat struct matrix_keypad *keypad = platform_get_drvdata(pdev); const struct matrix_keypad_platform_data *pdata = keypad->pdata; int i; + int err; matrix_keypad_stop(keypad->input_dev); - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + err = enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (err) { + dev_err(&pdev->dev, + "Failed to setup GPIO %d as " + "wakeup source, err: %d\n", + pdata->row_gpios[i], err); + goto err_out; + } + } + } return 0; + + err_out: + while (--i >= 0) + disable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + return err; } static int matrix_keypad_resume(struct platform_device *pdev) ^ permalink raw reply related [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-06 5:06 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-06 5:06 UTC (permalink / raw) To: linux-arm-kernel Hi Pavel, On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > Hi! > > It complains about unbalanced irq 113 wake disable. That one belongs > to matrix-keypad... I guess some of enable_irq_wake()s fail on your box. Do you see it if you apply the patch below? Thanks. -- Dmitry Input: matrix-keypad - report errors from enable_irq_wake() From: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> --- drivers/input/keyboard/matrix_keypad.c | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 91cfe51..488171c 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -218,14 +218,29 @@ static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t stat struct matrix_keypad *keypad = platform_get_drvdata(pdev); const struct matrix_keypad_platform_data *pdata = keypad->pdata; int i; + int err; matrix_keypad_stop(keypad->input_dev); - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + err = enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (err) { + dev_err(&pdev->dev, + "Failed to setup GPIO %d as " + "wakeup source, err: %d\n", + pdata->row_gpios[i], err); + goto err_out; + } + } + } return 0; + + err_out: + while (--i >= 0) + disable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + return err; } static int matrix_keypad_resume(struct platform_device *pdev) ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-06 5:06 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-06 5:06 UTC (permalink / raw) To: Pavel Machek Cc: thommycheck, dbaryshkov, Cyril Hrubis, arminlitzel, kernel list, Dirk, utx, lenz, rpurdie, omegamoon, linux-input, eric.y.miao, linux-arm-kernel Hi Pavel, On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > Hi! > > It complains about unbalanced irq 113 wake disable. That one belongs > to matrix-keypad... I guess some of enable_irq_wake()s fail on your box. Do you see it if you apply the patch below? Thanks. -- Dmitry Input: matrix-keypad - report errors from enable_irq_wake() From: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> --- drivers/input/keyboard/matrix_keypad.c | 21 ++++++++++++++++++--- 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 91cfe51..488171c 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -218,14 +218,29 @@ static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t stat struct matrix_keypad *keypad = platform_get_drvdata(pdev); const struct matrix_keypad_platform_data *pdata = keypad->pdata; int i; + int err; matrix_keypad_stop(keypad->input_dev); - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + err = enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (err) { + dev_err(&pdev->dev, + "Failed to setup GPIO %d as " + "wakeup source, err: %d\n", + pdata->row_gpios[i], err); + goto err_out; + } + } + } return 0; + + err_out: + while (--i >= 0) + disable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + return err; } static int matrix_keypad_resume(struct platform_device *pdev) ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-10-06 5:06 ` Dmitry Torokhov @ 2009-10-06 7:58 ` Pavel Machek -1 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-10-06 7:58 UTC (permalink / raw) To: Dmitry Torokhov Cc: rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, eric.y.miao, utx, linux-input, Rafael J. Wysocki [-- Attachment #1: Type: text/plain, Size: 921 bytes --] Hi! On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > > > > It complains about unbalanced irq 113 wake disable. That one belongs > > to matrix-keypad... > > I guess some of enable_irq_wake()s fail on your box. Do you see it if > you apply the patch below? I'll do short test. But... if you are right, your patch will just make your machine refuse to suspend... right? Ungood. Actually, it seems to break suspend (returns -EINVAL while refusing to suspend), warnings are still there, and keyboard is dead after failed suspend... double plus ungood. Aha, so warning is solved: the one in the log is from gpio_buttons. (I wonder if the 'unbalanced irq_wake' warning is useful... who added it?) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html [-- Attachment #2: 1.msg --] [-- Type: text/plain, Size: 15253 bytes --] info for No Bus:vcs PM: Adding info for No Bus:vcsa PM: Adding info for No Bus:vcs1 PM: Adding info for No Bus:vcsa1 PM: Adding info for No Bus:tty1 PM: Adding info for No Bus:tty2 PM: Adding info for No Bus:tty3 PM: Adding info for No Bus:tty4 PM: Adding info for No Bus:tty5 PM: Adding info for No Bus:tty6 PM: Adding info for No Bus:tty7 PM: Adding info for No Bus:tty8 PM: Adding info for No Bus:tty9 PM: Adding info for No Bus:tty10 PM: Adding info for No Bus:tty11 PM: Adding info for No Bus:tty12 PM: Adding info for No Bus:tty13 PM: Adding info for No Bus:tty14 PM: Adding info for No Bus:tty15 PM: Adding info for No Bus:tty16 PM: Adding info for No Bus:tty17 PM: Adding info for No Bus:tty18 PM: Adding info for No Bus:tty19 PM: Adding info for No Bus:tty20 PM: Adding info for No Bus:tty21 PM: Adding info for No Bus:tty22 PM: Adding info for No Bus:tty23 PM: Adding info for No Bus:tty24 PM: Adding info for No Bus:tty25 PM: Adding info for No Bus:tty26 PM: Adding info for No Bus:tty27 PM: Adding info for No Bus:tty28 PM: Adding info for No Bus:tty29 PM: Adding info for No Bus:tty30 PM: Adding info for No Bus:tty31 PM: Adding info for No Bus:tty32 PM: Adding info for No Bus:tty33 PM: Adding info for No Bus:tty34 PM: Adding info for No Bus:tty35 PM: Adding info for No Bus:tty36 PM: Adding info for No Bus:tty37 PM: Adding info for No Bus:tty38 PM: Adding info for No Bus:tty39 PM: Adding info for No Bus:tty40 PM: Adding info for No Bus:tty41 PM: Adding info for No Bus:tty42 PM: Adding info for No Bus:tty43 PM: Adding info for No Bus:tty44 PM: Adding info for No Bus:tty45 PM: Adding info for No Bus:tty46 PM: Adding info for No Bus:tty47 PM: Adding info for No Bus:tty48 PM: Adding info for No Bus:tty49 PM: Adding info for No Bus:tty50 PM: Adding info for No Bus:tty51 PM: Adding info for No Bus:tty52 PM: Adding info for No Bus:tty53 PM: Adding info for No Bus:tty54 PM: Adding info for No Bus:tty55 PM: Adding info for No Bus:tty56 PM: Adding info for No Bus:tty57 PM: Adding info for No Bus:tty58 PM: Adding info for No Bus:tty59 PM: Adding info for No Bus:tty60 PM: Adding info for No Bus:tty61 PM: Adding info for No Bus:tty62 PM: Adding info for No Bus:tty63 PM: Adding info for No Bus:ptmx PM: Adding info for No Bus:apm_bios Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled PM: Adding info for platform:serial8250 platform serial8250: __pm_runtime_idle()! platform serial8250: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:ttyS0 PM: Adding info for No Bus:ttyS1 PM: Adding info for No Bus:ttyS2 PM: Adding info for No Bus:ttyS3 serial8250 serial8250: __pm_runtime_idle()! serial8250 serial8250: __pm_runtime_idle() returns -11! Uniform Multi-Platform E-IDE driver ide-gd driver 1.18 NAND device: Manufacturer ID: 0xec, Chip ID: 0x73 (Samsung NAND 16MiB 3,3V 8-bit) Scanning device for bad blocks Creating 3 MTD partitions on "sharpsl-nand": 0x000000000000-0x000000700000 : "System Area" PM: Adding info for No Bus:mtd0 PM: Adding info for No Bus:mtd0ro PM: Adding info for No Bus:mtdblock0 PM: Adding info for No Bus:31:0 0x000000700000-0x000000c00000 : "Root Filesystem" PM: Adding info for No Bus:mtd1 PM: Adding info for No Bus:mtd1ro PM: Adding info for No Bus:mtdblock1 0x000000c00000-0x000001000000 : "Home Filesystem" PM: Adding info for No Bus:mtd2 PM: Adding info for No Bus:mtd2ro PM: Adding info for No Bus:mtdblock2 sharpsl-nand sharpsl-nand: __pm_runtime_idle()! sharpsl-nand sharpsl-nand: __pm_runtime_idle() returns -11! PPP generic driver version 2.4.2 PM: Adding info for No Bus:ppp orinoco 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al) orinoco_cs 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al) PM: Adding info for No Bus:mice mice: PS/2 mouse device common for all mice PM: Adding info for No Bus:input0 input: gpio-keys as /class/input/input0 PM: Adding info for No Bus:event0 gpio-keys gpio-keys: __pm_runtime_idle()! gpio-keys gpio-keys: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:input1 input: matrix-keypad as /class/input/input1 PM: Adding info for No Bus:event1 matrix-keypad matrix-keypad: __pm_runtime_idle()! matrix-keypad matrix-keypad: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:hwmon0 ads7846 spi2.0: touchscreen, irq 107 PM: Adding info for No Bus:input2 input: ADS7846 Touchscreen as /class/input/input2 PM: Adding info for No Bus:mouse0 PM: Adding info for No Bus:event2 ads7846 spi2.0: __pm_runtime_idle()! ads7846 spi2.0: __pm_runtime_idle() returns -11! APM Battery Driver PM: Adding info for No Bus:hwmon1 max1111 spi2.2: __pm_runtime_idle()! max1111 spi2.2: __pm_runtime_idle() returns -11! Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized cpuidle: using governor ladder PM: Adding info for No Bus:mmc0 pxa2xx-mci pxa2xx-mci.0: __pm_runtime_idle()! pxa2xx-mci pxa2xx-mci.0: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:spitz:amber:charge Registered led device: spitz:amber:charge PM: Adding info for No Bus:spitz:green:hddactivity Registered led device: spitz:green:hddactivity leds-gpio leds-gpio: __pm_runtime_idle()! leds-gpio leds-gpio: __pm_runtime_idle() returns -11! wacom driver registered TCP cubic registered NET: Registered protocol family 17 Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 lib80211: common routines for IEEE802.11 drivers lib80211_crypt: registered algorithm 'NULL' XScale iWMMXt coprocessor detected. sharpsl-pm sharpsl-pm: __pm_runtime_idle()! sharpsl-pm sharpsl-pm: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:cpu_dma_latency PM: Adding info for No Bus:network_latency PM: Adding info for No Bus:network_throughput Waiting 3sec before mounting root device... pcmcia_socket pcmcia_socket1: pccard: PCMCIA card inserted into slot 1 pcmcia 1.0: pcmcia: registering new device pcmcia1.0 PM: Adding info for pcmcia:1.0 Probing IDE interface ide0... hda: HMS360404D5CF00, CFA DISK drive PM: Adding info for No Bus:ide0 PM: Adding info for No Bus:ide0 ide0 at 0xc4840000-0xc4840007,0xc484000e on irq 202 PM: Adding info for ide:0.0 PM: Adding info for No Bus:0.0 hda: max request size: 128KiB hda: 7999488 sectors (4095 MB) w/128KiB Cache, CHS=7936/16/63 hda: cache flushes supported PM: Adding info for No Bus:hda hda: hda1 hda2 hda3 PM: Adding info for No Bus:hda1 PM: Adding info for No Bus:hda2 PM: Adding info for No Bus:hda3 PM: Adding info for No Bus:3:0 ide-gd 0.0: __pm_runtime_idle()! ide-gd 0.0: __pm_runtime_idle() returns -11! ide-cs: hda: Vpp = 0.0 ide-cs 1.0: __pm_runtime_idle()! ide-cs 1.0: __pm_runtime_idle() returns -11! EXT3-fs: INFO: recovery required on readonly filesystem. EXT3-fs: write access will be enabled during recovery. kjournald starting. Commit interval 5 seconds EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly on device 3:3. Freeing init memory: 92K EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on hda3, internal journal kjournald starting. Commit interval 5 seconds EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on hda2, internal journal EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with ordered data mode. Adding 55160k swap on /SWAP. Priority:-1 extents:15 across:55220k PM: Adding info for No Bus:vcs2 PM: Adding info for No Bus:vcsa2 PM: Adding info for No Bus:vcs3 PM: Adding info for No Bus:vcsa3 PM: Adding info for No Bus:vcs4 PM: Adding info for No Bus:vcsa4 PM: Adding info for No Bus:vcs6 PM: Adding info for No Bus:vcsa6 PM: Adding info for No Bus:vcs5 PM: Adding info for No Bus:vcsa5 PM: Syncing filesystems ... done. PM: Preparing system for mem sleep PM: Adding info for No Bus:vcs63 PM: Adding info for No Bus:vcsa63 Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. PM: Entering mem sleep platform pxa27x-udc: preparing suspend platform pxa2xx-uart.0: preparing suspend platform pxa2xx-uart.1: preparing suspend platform pxa2xx-uart.2: preparing suspend platform pxa2xx-i2s: preparing suspend platform sa1100-rtc: preparing suspend platform pxa-rtc: preparing suspend pxa27x-ssp pxa27x-ssp.0: preparing suspend pxa27x-ssp pxa27x-ssp.1: preparing suspend pxa27x-ssp pxa27x-ssp.2: preparing suspend platform pxa27x-pwm.0: preparing suspend platform pxa27x-pwm.1: preparing suspend pxa2xx-spi pxa2xx-spi.2: preparing suspend sharp-scoop sharp-scoop.0: preparing suspend matrix-keypad matrix-keypad: preparing suspend, may wakeup gpio-keys gpio-keys: preparing suspend, may wakeup leds-gpio leds-gpio: preparing suspend sharpsl-nand sharpsl-nand: preparing suspend platform physmap-flash: preparing suspend pxa2xx-mci pxa2xx-mci.0: preparing suspend platform pxa27x-ohci: preparing suspend platform pxa2xx-ir: preparing suspend pxa2xx-fb pxa2xx-fb: preparing suspend pxa2xx-i2c pxa2xx-i2c.0: preparing suspend sharp-scoop sharp-scoop.1: preparing suspend platform regulatory.0: preparing suspend pxa2xx-pcmcia pxa2xx-pcmcia: preparing suspend sharpsl-pm sharpsl-pm: preparing suspend serial8250 serial8250: preparing suspend ide-gd 0.0: legacy suspend ide-cs 1.0: legacy suspend leds spitz:green:hddactivity: legacy class suspend leds spitz:amber:charge: legacy class suspend input input2: type suspend input input1: type suspend input input0: type suspend mtd mtd2ro: legacy class suspend mtd mtd2: legacy class suspend mtd mtd1ro: legacy class suspend mtd mtd1: legacy class suspend mtd mtd0ro: legacy class suspend mtd mtd0: legacy class suspend serial8250 serial8250: suspend backlight corgi_bl: legacy class suspend sharpsl-pm sharpsl-pm: suspend pxa2xx-pcmcia pxa2xx-pcmcia: suspend platform regulatory.0: suspend i2c i2c-0: legacy suspend max1111 spi2.2: legacy suspend corgi-lcd spi2.1: legacy suspend ads7846 spi2.0: legacy suspend sharp-scoop sharp-scoop.1: suspend pxa2xx-i2c pxa2xx-i2c.0: suspend pxa2xx-fb pxa2xx-fb: suspend platform pxa2xx-ir: suspend platform pxa27x-ohci: suspend pxa2xx-mci pxa2xx-mci.0: suspend platform physmap-flash: suspend sharpsl-nand sharpsl-nand: suspend leds-gpio leds-gpio: suspend gpio-keys gpio-keys: suspend, may wakeup matrix-keypad matrix-keypad: suspend, may wakeup matrix-keypad matrix-keypad: Failed to setup GPIO 17 as wakeup source, err: -22 pm_op(): platform_pm_suspend+0x0/0x5c returns -22 PM: Device matrix-keypad failed to suspend: error -22 PM: Some devices failed to suspend gpio-keys gpio-keys: resume ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 191 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0274>] (gpio_keys_resume+0x64/0x80) [<c01d0274>] (gpio_keys_resume+0x64/0x80) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace 974713f34f14652d ]--- leds-gpio leds-gpio: resume sharpsl-nand sharpsl-nand: resume platform physmap-flash: resume pxa2xx-mci pxa2xx-mci.0: resume platform pxa27x-ohci: resume platform pxa2xx-ir: resume pxa2xx-fb pxa2xx-fb: resume pxa2xx-i2c pxa2xx-i2c.0: resume sharp-scoop sharp-scoop.1: resume ads7846 spi2.0: legacy resume corgi-lcd spi2.1: legacy resume max1111 spi2.2: legacy resume i2c i2c-0: legacy resume platform regulatory.0: resume pxa2xx-pcmcia pxa2xx-pcmcia: resume sharpsl-pm sharpsl-pm: resume backlight corgi_bl: legacy class resume serial8250 serial8250: resume mtd mtd0: legacy class resume mtd mtd0ro: legacy class resume mtd mtd1: legacy class resume mtd mtd1ro: legacy class resume mtd mtd2: legacy class resume mtd mtd2ro: legacy class resume input input0: type resume input input1: type resume input input2: type resume leds spitz:amber:charge: legacy class resume leds spitz:green:hddactivity: legacy class resume ide-cs 1.0: legacy resume ide-gd 0.0: legacy resume serial8250 serial8250: completing resume sharpsl-pm sharpsl-pm: completing resume pxa2xx-pcmcia pxa2xx-pcmcia: completing resume platform regulatory.0: completing resume sharp-scoop sharp-scoop.1: completing resume pxa2xx-i2c pxa2xx-i2c.0: completing resume pxa2xx-fb pxa2xx-fb: completing resume platform pxa2xx-ir: completing resume platform pxa27x-ohci: completing resume pxa2xx-mci pxa2xx-mci.0: completing resume platform physmap-flash: completing resume sharpsl-nand sharpsl-nand: completing resume leds-gpio leds-gpio: completing resume gpio-keys gpio-keys: completing resume matrix-keypad matrix-keypad: completing resume sharp-scoop sharp-scoop.0: completing resume pxa2xx-spi pxa2xx-spi.2: completing resume platform pxa27x-pwm.1: completing resume platform pxa27x-pwm.0: completing resume pxa27x-ssp pxa27x-ssp.2: completing resume pxa27x-ssp pxa27x-ssp.1: completing resume pxa27x-ssp pxa27x-ssp.0: completing resume platform pxa-rtc: completing resume platform sa1100-rtc: completing resume platform pxa2xx-i2s: completing resume platform pxa2xx-uart.2: completing resume platform pxa2xx-uart.1: completing resume platform pxa2xx-uart.0: completing resume platform pxa27x-udc: completing resume PM: Finishing wakeup. Restarting tasks ... done. hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 ide0: reset: success ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-06 7:58 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-10-06 7:58 UTC (permalink / raw) To: linux-arm-kernel Hi! On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > > > > It complains about unbalanced irq 113 wake disable. That one belongs > > to matrix-keypad... > > I guess some of enable_irq_wake()s fail on your box. Do you see it if > you apply the patch below? I'll do short test. But... if you are right, your patch will just make your machine refuse to suspend... right? Ungood. Actually, it seems to break suspend (returns -EINVAL while refusing to suspend), warnings are still there, and keyboard is dead after failed suspend... double plus ungood. Aha, so warning is solved: the one in the log is from gpio_buttons. (I wonder if the 'unbalanced irq_wake' warning is useful... who added it?) Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -------------- next part -------------- info for No Bus:vcs PM: Adding info for No Bus:vcsa PM: Adding info for No Bus:vcs1 PM: Adding info for No Bus:vcsa1 PM: Adding info for No Bus:tty1 PM: Adding info for No Bus:tty2 PM: Adding info for No Bus:tty3 PM: Adding info for No Bus:tty4 PM: Adding info for No Bus:tty5 PM: Adding info for No Bus:tty6 PM: Adding info for No Bus:tty7 PM: Adding info for No Bus:tty8 PM: Adding info for No Bus:tty9 PM: Adding info for No Bus:tty10 PM: Adding info for No Bus:tty11 PM: Adding info for No Bus:tty12 PM: Adding info for No Bus:tty13 PM: Adding info for No Bus:tty14 PM: Adding info for No Bus:tty15 PM: Adding info for No Bus:tty16 PM: Adding info for No Bus:tty17 PM: Adding info for No Bus:tty18 PM: Adding info for No Bus:tty19 PM: Adding info for No Bus:tty20 PM: Adding info for No Bus:tty21 PM: Adding info for No Bus:tty22 PM: Adding info for No Bus:tty23 PM: Adding info for No Bus:tty24 PM: Adding info for No Bus:tty25 PM: Adding info for No Bus:tty26 PM: Adding info for No Bus:tty27 PM: Adding info for No Bus:tty28 PM: Adding info for No Bus:tty29 PM: Adding info for No Bus:tty30 PM: Adding info for No Bus:tty31 PM: Adding info for No Bus:tty32 PM: Adding info for No Bus:tty33 PM: Adding info for No Bus:tty34 PM: Adding info for No Bus:tty35 PM: Adding info for No Bus:tty36 PM: Adding info for No Bus:tty37 PM: Adding info for No Bus:tty38 PM: Adding info for No Bus:tty39 PM: Adding info for No Bus:tty40 PM: Adding info for No Bus:tty41 PM: Adding info for No Bus:tty42 PM: Adding info for No Bus:tty43 PM: Adding info for No Bus:tty44 PM: Adding info for No Bus:tty45 PM: Adding info for No Bus:tty46 PM: Adding info for No Bus:tty47 PM: Adding info for No Bus:tty48 PM: Adding info for No Bus:tty49 PM: Adding info for No Bus:tty50 PM: Adding info for No Bus:tty51 PM: Adding info for No Bus:tty52 PM: Adding info for No Bus:tty53 PM: Adding info for No Bus:tty54 PM: Adding info for No Bus:tty55 PM: Adding info for No Bus:tty56 PM: Adding info for No Bus:tty57 PM: Adding info for No Bus:tty58 PM: Adding info for No Bus:tty59 PM: Adding info for No Bus:tty60 PM: Adding info for No Bus:tty61 PM: Adding info for No Bus:tty62 PM: Adding info for No Bus:tty63 PM: Adding info for No Bus:ptmx PM: Adding info for No Bus:apm_bios Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled PM: Adding info for platform:serial8250 platform serial8250: __pm_runtime_idle()! platform serial8250: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:ttyS0 PM: Adding info for No Bus:ttyS1 PM: Adding info for No Bus:ttyS2 PM: Adding info for No Bus:ttyS3 serial8250 serial8250: __pm_runtime_idle()! serial8250 serial8250: __pm_runtime_idle() returns -11! Uniform Multi-Platform E-IDE driver ide-gd driver 1.18 NAND device: Manufacturer ID: 0xec, Chip ID: 0x73 (Samsung NAND 16MiB 3,3V 8-bit) Scanning device for bad blocks Creating 3 MTD partitions on "sharpsl-nand": 0x000000000000-0x000000700000 : "System Area" PM: Adding info for No Bus:mtd0 PM: Adding info for No Bus:mtd0ro PM: Adding info for No Bus:mtdblock0 PM: Adding info for No Bus:31:0 0x000000700000-0x000000c00000 : "Root Filesystem" PM: Adding info for No Bus:mtd1 PM: Adding info for No Bus:mtd1ro PM: Adding info for No Bus:mtdblock1 0x000000c00000-0x000001000000 : "Home Filesystem" PM: Adding info for No Bus:mtd2 PM: Adding info for No Bus:mtd2ro PM: Adding info for No Bus:mtdblock2 sharpsl-nand sharpsl-nand: __pm_runtime_idle()! sharpsl-nand sharpsl-nand: __pm_runtime_idle() returns -11! PPP generic driver version 2.4.2 PM: Adding info for No Bus:ppp orinoco 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al) orinoco_cs 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al) PM: Adding info for No Bus:mice mice: PS/2 mouse device common for all mice PM: Adding info for No Bus:input0 input: gpio-keys as /class/input/input0 PM: Adding info for No Bus:event0 gpio-keys gpio-keys: __pm_runtime_idle()! gpio-keys gpio-keys: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:input1 input: matrix-keypad as /class/input/input1 PM: Adding info for No Bus:event1 matrix-keypad matrix-keypad: __pm_runtime_idle()! matrix-keypad matrix-keypad: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:hwmon0 ads7846 spi2.0: touchscreen, irq 107 PM: Adding info for No Bus:input2 input: ADS7846 Touchscreen as /class/input/input2 PM: Adding info for No Bus:mouse0 PM: Adding info for No Bus:event2 ads7846 spi2.0: __pm_runtime_idle()! ads7846 spi2.0: __pm_runtime_idle() returns -11! APM Battery Driver PM: Adding info for No Bus:hwmon1 max1111 spi2.2: __pm_runtime_idle()! max1111 spi2.2: __pm_runtime_idle() returns -11! Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCI H4 protocol initialized Bluetooth: HCI BCSP protocol initialized cpuidle: using governor ladder PM: Adding info for No Bus:mmc0 pxa2xx-mci pxa2xx-mci.0: __pm_runtime_idle()! pxa2xx-mci pxa2xx-mci.0: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:spitz:amber:charge Registered led device: spitz:amber:charge PM: Adding info for No Bus:spitz:green:hddactivity Registered led device: spitz:green:hddactivity leds-gpio leds-gpio: __pm_runtime_idle()! leds-gpio leds-gpio: __pm_runtime_idle() returns -11! wacom driver registered TCP cubic registered NET: Registered protocol family 17 Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 lib80211: common routines for IEEE802.11 drivers lib80211_crypt: registered algorithm 'NULL' XScale iWMMXt coprocessor detected. sharpsl-pm sharpsl-pm: __pm_runtime_idle()! sharpsl-pm sharpsl-pm: __pm_runtime_idle() returns -11! PM: Adding info for No Bus:cpu_dma_latency PM: Adding info for No Bus:network_latency PM: Adding info for No Bus:network_throughput Waiting 3sec before mounting root device... pcmcia_socket pcmcia_socket1: pccard: PCMCIA card inserted into slot 1 pcmcia 1.0: pcmcia: registering new device pcmcia1.0 PM: Adding info for pcmcia:1.0 Probing IDE interface ide0... hda: HMS360404D5CF00, CFA DISK drive PM: Adding info for No Bus:ide0 PM: Adding info for No Bus:ide0 ide0 at 0xc4840000-0xc4840007,0xc484000e on irq 202 PM: Adding info for ide:0.0 PM: Adding info for No Bus:0.0 hda: max request size: 128KiB hda: 7999488 sectors (4095 MB) w/128KiB Cache, CHS=7936/16/63 hda: cache flushes supported PM: Adding info for No Bus:hda hda: hda1 hda2 hda3 PM: Adding info for No Bus:hda1 PM: Adding info for No Bus:hda2 PM: Adding info for No Bus:hda3 PM: Adding info for No Bus:3:0 ide-gd 0.0: __pm_runtime_idle()! ide-gd 0.0: __pm_runtime_idle() returns -11! ide-cs: hda: Vpp = 0.0 ide-cs 1.0: __pm_runtime_idle()! ide-cs 1.0: __pm_runtime_idle() returns -11! EXT3-fs: INFO: recovery required on readonly filesystem. EXT3-fs: write access will be enabled during recovery. kjournald starting. Commit interval 5 seconds EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly on device 3:3. Freeing init memory: 92K EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on hda3, internal journal kjournald starting. Commit interval 5 seconds EXT3-fs warning: maximal mount count reached, running e2fsck is recommended EXT3 FS on hda2, internal journal EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with ordered data mode. Adding 55160k swap on /SWAP. Priority:-1 extents:15 across:55220k PM: Adding info for No Bus:vcs2 PM: Adding info for No Bus:vcsa2 PM: Adding info for No Bus:vcs3 PM: Adding info for No Bus:vcsa3 PM: Adding info for No Bus:vcs4 PM: Adding info for No Bus:vcsa4 PM: Adding info for No Bus:vcs6 PM: Adding info for No Bus:vcsa6 PM: Adding info for No Bus:vcs5 PM: Adding info for No Bus:vcsa5 PM: Syncing filesystems ... done. PM: Preparing system for mem sleep PM: Adding info for No Bus:vcs63 PM: Adding info for No Bus:vcsa63 Freezing user space processes ... (elapsed 0.00 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done. PM: Entering mem sleep platform pxa27x-udc: preparing suspend platform pxa2xx-uart.0: preparing suspend platform pxa2xx-uart.1: preparing suspend platform pxa2xx-uart.2: preparing suspend platform pxa2xx-i2s: preparing suspend platform sa1100-rtc: preparing suspend platform pxa-rtc: preparing suspend pxa27x-ssp pxa27x-ssp.0: preparing suspend pxa27x-ssp pxa27x-ssp.1: preparing suspend pxa27x-ssp pxa27x-ssp.2: preparing suspend platform pxa27x-pwm.0: preparing suspend platform pxa27x-pwm.1: preparing suspend pxa2xx-spi pxa2xx-spi.2: preparing suspend sharp-scoop sharp-scoop.0: preparing suspend matrix-keypad matrix-keypad: preparing suspend, may wakeup gpio-keys gpio-keys: preparing suspend, may wakeup leds-gpio leds-gpio: preparing suspend sharpsl-nand sharpsl-nand: preparing suspend platform physmap-flash: preparing suspend pxa2xx-mci pxa2xx-mci.0: preparing suspend platform pxa27x-ohci: preparing suspend platform pxa2xx-ir: preparing suspend pxa2xx-fb pxa2xx-fb: preparing suspend pxa2xx-i2c pxa2xx-i2c.0: preparing suspend sharp-scoop sharp-scoop.1: preparing suspend platform regulatory.0: preparing suspend pxa2xx-pcmcia pxa2xx-pcmcia: preparing suspend sharpsl-pm sharpsl-pm: preparing suspend serial8250 serial8250: preparing suspend ide-gd 0.0: legacy suspend ide-cs 1.0: legacy suspend leds spitz:green:hddactivity: legacy class suspend leds spitz:amber:charge: legacy class suspend input input2: type suspend input input1: type suspend input input0: type suspend mtd mtd2ro: legacy class suspend mtd mtd2: legacy class suspend mtd mtd1ro: legacy class suspend mtd mtd1: legacy class suspend mtd mtd0ro: legacy class suspend mtd mtd0: legacy class suspend serial8250 serial8250: suspend backlight corgi_bl: legacy class suspend sharpsl-pm sharpsl-pm: suspend pxa2xx-pcmcia pxa2xx-pcmcia: suspend platform regulatory.0: suspend i2c i2c-0: legacy suspend max1111 spi2.2: legacy suspend corgi-lcd spi2.1: legacy suspend ads7846 spi2.0: legacy suspend sharp-scoop sharp-scoop.1: suspend pxa2xx-i2c pxa2xx-i2c.0: suspend pxa2xx-fb pxa2xx-fb: suspend platform pxa2xx-ir: suspend platform pxa27x-ohci: suspend pxa2xx-mci pxa2xx-mci.0: suspend platform physmap-flash: suspend sharpsl-nand sharpsl-nand: suspend leds-gpio leds-gpio: suspend gpio-keys gpio-keys: suspend, may wakeup matrix-keypad matrix-keypad: suspend, may wakeup matrix-keypad matrix-keypad: Failed to setup GPIO 17 as wakeup source, err: -22 pm_op(): platform_pm_suspend+0x0/0x5c returns -22 PM: Device matrix-keypad failed to suspend: error -22 PM: Some devices failed to suspend gpio-keys gpio-keys: resume ------------[ cut here ]------------ WARNING: at kernel/irq/manage.c:361 set_irq_wake+0x7c/0x138() Unbalanced IRQ 191 wake disable Modules linked in: [<c00248f8>] (unwind_backtrace+0x0/0xe4) from [<c003520c>] (warn_slowpath_common+0x4c/0x80) [<c003520c>] (warn_slowpath_common+0x4c/0x80) from [<c003527c>] (warn_slowpath_fmt+0x28/0x38) [<c003527c>] (warn_slowpath_fmt+0x28/0x38) from [<c0060b88>] (set_irq_wake+0x7c/0x138) [<c0060b88>] (set_irq_wake+0x7c/0x138) from [<c01d0274>] (gpio_keys_resume+0x64/0x80) [<c01d0274>] (gpio_keys_resume+0x64/0x80) from [<c0190d3c>] (platform_pm_resume+0x30/0x54) [<c0190d3c>] (platform_pm_resume+0x30/0x54) from [<c019302c>] (pm_op+0x6c/0x8c) [<c019302c>] (pm_op+0x6c/0x8c) from [<c0193af4>] (dpm_resume_end+0xf0/0x47c) [<c0193af4>] (dpm_resume_end+0xf0/0x47c) from [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) [<c005d980>] (suspend_devices_and_enter+0x8c/0x1dc) from [<c005dbb8>] (enter_state+0xe8/0x120) [<c005dbb8>] (enter_state+0xe8/0x120) from [<c005d2bc>] (state_store+0x90/0xc4) [<c005d2bc>] (state_store+0x90/0xc4) from [<c01459bc>] (kobj_attr_store+0x1c/0x24) [<c01459bc>] (kobj_attr_store+0x1c/0x24) from [<c00d80d8>] (sysfs_write_file+0x104/0x18c) [<c00d80d8>] (sysfs_write_file+0x104/0x18c) from [<c008ffe8>] (vfs_write+0xb0/0x164) [<c008ffe8>] (vfs_write+0xb0/0x164) from [<c009016c>] (sys_write+0x40/0x70) [<c009016c>] (sys_write+0x40/0x70) from [<c001fec0>] (ret_fast_syscall+0x0/0x28) ---[ end trace 974713f34f14652d ]--- leds-gpio leds-gpio: resume sharpsl-nand sharpsl-nand: resume platform physmap-flash: resume pxa2xx-mci pxa2xx-mci.0: resume platform pxa27x-ohci: resume platform pxa2xx-ir: resume pxa2xx-fb pxa2xx-fb: resume pxa2xx-i2c pxa2xx-i2c.0: resume sharp-scoop sharp-scoop.1: resume ads7846 spi2.0: legacy resume corgi-lcd spi2.1: legacy resume max1111 spi2.2: legacy resume i2c i2c-0: legacy resume platform regulatory.0: resume pxa2xx-pcmcia pxa2xx-pcmcia: resume sharpsl-pm sharpsl-pm: resume backlight corgi_bl: legacy class resume serial8250 serial8250: resume mtd mtd0: legacy class resume mtd mtd0ro: legacy class resume mtd mtd1: legacy class resume mtd mtd1ro: legacy class resume mtd mtd2: legacy class resume mtd mtd2ro: legacy class resume input input0: type resume input input1: type resume input input2: type resume leds spitz:amber:charge: legacy class resume leds spitz:green:hddactivity: legacy class resume ide-cs 1.0: legacy resume ide-gd 0.0: legacy resume serial8250 serial8250: completing resume sharpsl-pm sharpsl-pm: completing resume pxa2xx-pcmcia pxa2xx-pcmcia: completing resume platform regulatory.0: completing resume sharp-scoop sharp-scoop.1: completing resume pxa2xx-i2c pxa2xx-i2c.0: completing resume pxa2xx-fb pxa2xx-fb: completing resume platform pxa2xx-ir: completing resume platform pxa27x-ohci: completing resume pxa2xx-mci pxa2xx-mci.0: completing resume platform physmap-flash: completing resume sharpsl-nand sharpsl-nand: completing resume leds-gpio leds-gpio: completing resume gpio-keys gpio-keys: completing resume matrix-keypad matrix-keypad: completing resume sharp-scoop sharp-scoop.0: completing resume pxa2xx-spi pxa2xx-spi.2: completing resume platform pxa27x-pwm.1: completing resume platform pxa27x-pwm.0: completing resume pxa27x-ssp pxa27x-ssp.2: completing resume pxa27x-ssp pxa27x-ssp.1: completing resume pxa27x-ssp pxa27x-ssp.0: completing resume platform pxa-rtc: completing resume platform sa1100-rtc: completing resume platform pxa2xx-i2s: completing resume platform pxa2xx-uart.2: completing resume platform pxa2xx-uart.1: completing resume platform pxa2xx-uart.0: completing resume platform pxa27x-udc: completing resume PM: Finishing wakeup. Restarting tasks ... done. hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 hda: task_pio_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } hda: task_pio_intr: error=0x04 { DriveStatusError } hda: possibly failed opcode: 0xc4 ide0: reset: success ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-10-06 7:58 ` Pavel Machek (?) @ 2009-10-07 4:36 ` Dmitry Torokhov -1 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-07 4:36 UTC (permalink / raw) To: Pavel Machek Cc: rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, eric.y.miao, utx, linux-input, Rafael J. Wysocki On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: > Hi! > > On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > > > > > > It complains about unbalanced irq 113 wake disable. That one belongs > > > to matrix-keypad... > > > > I guess some of enable_irq_wake()s fail on your box. Do you see it if > > you apply the patch below? > > I'll do short test. But... if you are right, your patch will just make > your machine refuse to suspend... right? > > Ungood. It was just a debug patch. > > Actually, it seems to break suspend (returns -EINVAL while refusing > to suspend), warnings are still there, and keyboard is dead after > failed suspend... double plus ungood. > > Aha, so warning is solved: the one in the log is from gpio_buttons. > OK, so it looks like your box refuses to set up one of the GPIOs as a wakeup source... Hmm, either your box is wrong ;) or matrix_keypad driver needs to maintain a separate list of wakeup GPIOs. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 4:36 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-07 4:36 UTC (permalink / raw) To: linux-arm-kernel On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: > Hi! > > On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > > > > > > It complains about unbalanced irq 113 wake disable. That one belongs > > > to matrix-keypad... > > > > I guess some of enable_irq_wake()s fail on your box. Do you see it if > > you apply the patch below? > > I'll do short test. But... if you are right, your patch will just make > your machine refuse to suspend... right? > > Ungood. It was just a debug patch. > > Actually, it seems to break suspend (returns -EINVAL while refusing > to suspend), warnings are still there, and keyboard is dead after > failed suspend... double plus ungood. > > Aha, so warning is solved: the one in the log is from gpio_buttons. > OK, so it looks like your box refuses to set up one of the GPIOs as a wakeup source... Hmm, either your box is wrong ;) or matrix_keypad driver needs to maintain a separate list of wakeup GPIOs. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 4:36 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-07 4:36 UTC (permalink / raw) To: Pavel Machek Cc: Rafael J. Wysocki, thommycheck, dbaryshkov, Cyril Hrubis, arminlitzel, kernel list, Dirk, utx, lenz, rpurdie, omegamoon, linux-input, eric.y.miao, linux-arm-kernel On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: > Hi! > > On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > > > > > > It complains about unbalanced irq 113 wake disable. That one belongs > > > to matrix-keypad... > > > > I guess some of enable_irq_wake()s fail on your box. Do you see it if > > you apply the patch below? > > I'll do short test. But... if you are right, your patch will just make > your machine refuse to suspend... right? > > Ungood. It was just a debug patch. > > Actually, it seems to break suspend (returns -EINVAL while refusing > to suspend), warnings are still there, and keyboard is dead after > failed suspend... double plus ungood. > > Aha, so warning is solved: the one in the log is from gpio_buttons. > OK, so it looks like your box refuses to set up one of the GPIOs as a wakeup source... Hmm, either your box is wrong ;) or matrix_keypad driver needs to maintain a separate list of wakeup GPIOs. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-10-07 4:36 ` Dmitry Torokhov (?) @ 2009-10-07 14:42 ` Eric Miao -1 siblings, 0 replies; 32+ messages in thread From: Eric Miao @ 2009-10-07 14:42 UTC (permalink / raw) To: Dmitry Torokhov Cc: Pavel Machek, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Wed, Oct 7, 2009 at 12:36 PM, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: >> Hi! >> >> On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: >> > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: >> > > >> > > It complains about unbalanced irq 113 wake disable. That one belongs >> > > to matrix-keypad... >> > >> > I guess some of enable_irq_wake()s fail on your box. Do you see it if >> > you apply the patch below? >> >> I'll do short test. But... if you are right, your patch will just make >> your machine refuse to suspend... right? >> >> Ungood. > > It was just a debug patch. > >> >> Actually, it seems to break suspend (returns -EINVAL while refusing >> to suspend), warnings are still there, and keyboard is dead after >> failed suspend... double plus ungood. >> >> Aha, so warning is solved: the one in the log is from gpio_buttons. >> > > OK, so it looks like your box refuses to set up one of the GPIOs as a > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > driver needs to maintain a separate list of wakeup GPIOs. > This is due to the nature of PXA processor, where not every GPIO can be configured as a wakeup source. Mmm.... we can either return a pseudo value indicating setting wakeup on that GPIO is OK (which doesn't sound like a good idea), or we can just ignore the failure of enable_irq_wake() in matrix_keypad? ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 14:42 ` Eric Miao 0 siblings, 0 replies; 32+ messages in thread From: Eric Miao @ 2009-10-07 14:42 UTC (permalink / raw) To: linux-arm-kernel On Wed, Oct 7, 2009 at 12:36 PM, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: >> Hi! >> >> On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: >> > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: >> > > >> > > It complains about unbalanced irq 113 wake disable. That one belongs >> > > to matrix-keypad... >> > >> > I guess some of enable_irq_wake()s fail on your box. Do you see it if >> > you apply the patch below? >> >> I'll do short test. But... if you are right, your patch will just make >> your machine refuse to suspend... right? >> >> Ungood. > > It was just a debug patch. > >> >> Actually, it seems to break suspend (returns ?-EINVAL while refusing >> to suspend), warnings are still there, and keyboard is dead after >> failed suspend... double plus ungood. >> >> Aha, so warning is solved: the one in the log is from gpio_buttons. >> > > OK, so it looks like your box refuses to set up one of the GPIOs as a > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > driver needs to maintain a separate list of wakeup GPIOs. > This is due to the nature of PXA processor, where not every GPIO can be configured as a wakeup source. Mmm.... we can either return a pseudo value indicating setting wakeup on that GPIO is OK (which doesn't sound like a good idea), or we can just ignore the failure of enable_irq_wake() in matrix_keypad? ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 14:42 ` Eric Miao 0 siblings, 0 replies; 32+ messages in thread From: Eric Miao @ 2009-10-07 14:42 UTC (permalink / raw) To: Dmitry Torokhov Cc: Rafael J. Wysocki, thommycheck, dbaryshkov, Cyril Hrubis, arminlitzel, kernel list, Dirk, utx, lenz, rpurdie, omegamoon, Pavel Machek, linux-input, linux-arm-kernel On Wed, Oct 7, 2009 at 12:36 PM, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote: > On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: >> Hi! >> >> On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: >> > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: >> > > >> > > It complains about unbalanced irq 113 wake disable. That one belongs >> > > to matrix-keypad... >> > >> > I guess some of enable_irq_wake()s fail on your box. Do you see it if >> > you apply the patch below? >> >> I'll do short test. But... if you are right, your patch will just make >> your machine refuse to suspend... right? >> >> Ungood. > > It was just a debug patch. > >> >> Actually, it seems to break suspend (returns -EINVAL while refusing >> to suspend), warnings are still there, and keyboard is dead after >> failed suspend... double plus ungood. >> >> Aha, so warning is solved: the one in the log is from gpio_buttons. >> > > OK, so it looks like your box refuses to set up one of the GPIOs as a > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > driver needs to maintain a separate list of wakeup GPIOs. > This is due to the nature of PXA processor, where not every GPIO can be configured as a wakeup source. Mmm.... we can either return a pseudo value indicating setting wakeup on that GPIO is OK (which doesn't sound like a good idea), or we can just ignore the failure of enable_irq_wake() in matrix_keypad? _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-10-07 14:42 ` Eric Miao (?) @ 2009-10-07 16:33 ` Dmitry Torokhov -1 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-07 16:33 UTC (permalink / raw) To: Eric Miao Cc: Pavel Machek, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Wed, Oct 07, 2009 at 10:42:08PM +0800, Eric Miao wrote: > On Wed, Oct 7, 2009 at 12:36 PM, Dmitry Torokhov > <dmitry.torokhov@gmail.com> wrote: > > On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: > >> Hi! > >> > >> On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > >> > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > >> > > > >> > > It complains about unbalanced irq 113 wake disable. That one belongs > >> > > to matrix-keypad... > >> > > >> > I guess some of enable_irq_wake()s fail on your box. Do you see it if > >> > you apply the patch below? > >> > >> I'll do short test. But... if you are right, your patch will just make > >> your machine refuse to suspend... right? > >> > >> Ungood. > > > > It was just a debug patch. > > > >> > >> Actually, it seems to break suspend (returns -EINVAL while refusing > >> to suspend), warnings are still there, and keyboard is dead after > >> failed suspend... double plus ungood. > >> > >> Aha, so warning is solved: the one in the log is from gpio_buttons. > >> > > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > driver needs to maintain a separate list of wakeup GPIOs. > > > > This is due to the nature of PXA processor, where not every GPIO can > be configured as a wakeup source. Mmm.... we can either return a > pseudo value indicating setting wakeup on that GPIO is OK (which > doesn't sound like a good idea), or we can just ignore the failure of > enable_irq_wake() in matrix_keypad? We ignore the failure right now in the mainline but that causes stack traces on resume as we trying to disable not enabled wakeup GPIOs. That was original Pavel's complaint. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 16:33 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-07 16:33 UTC (permalink / raw) To: linux-arm-kernel On Wed, Oct 07, 2009 at 10:42:08PM +0800, Eric Miao wrote: > On Wed, Oct 7, 2009 at 12:36 PM, Dmitry Torokhov > <dmitry.torokhov@gmail.com> wrote: > > On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: > >> Hi! > >> > >> On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > >> > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > >> > > > >> > > It complains about unbalanced irq 113 wake disable. That one belongs > >> > > to matrix-keypad... > >> > > >> > I guess some of enable_irq_wake()s fail on your box. Do you see it if > >> > you apply the patch below? > >> > >> I'll do short test. But... if you are right, your patch will just make > >> your machine refuse to suspend... right? > >> > >> Ungood. > > > > It was just a debug patch. > > > >> > >> Actually, it seems to break suspend (returns ?-EINVAL while refusing > >> to suspend), warnings are still there, and keyboard is dead after > >> failed suspend... double plus ungood. > >> > >> Aha, so warning is solved: the one in the log is from gpio_buttons. > >> > > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > driver needs to maintain a separate list of wakeup GPIOs. > > > > This is due to the nature of PXA processor, where not every GPIO can > be configured as a wakeup source. Mmm.... we can either return a > pseudo value indicating setting wakeup on that GPIO is OK (which > doesn't sound like a good idea), or we can just ignore the failure of > enable_irq_wake() in matrix_keypad? We ignore the failure right now in the mainline but that causes stack traces on resume as we trying to disable not enabled wakeup GPIOs. That was original Pavel's complaint. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 16:33 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-10-07 16:33 UTC (permalink / raw) To: Eric Miao Cc: Rafael J. Wysocki, thommycheck, dbaryshkov, Cyril Hrubis, arminlitzel, kernel list, Dirk, utx, lenz, rpurdie, omegamoon, Pavel Machek, linux-input, linux-arm-kernel On Wed, Oct 07, 2009 at 10:42:08PM +0800, Eric Miao wrote: > On Wed, Oct 7, 2009 at 12:36 PM, Dmitry Torokhov > <dmitry.torokhov@gmail.com> wrote: > > On Tue, Oct 06, 2009 at 09:58:17AM +0200, Pavel Machek wrote: > >> Hi! > >> > >> On Mon 2009-10-05 22:06:50, Dmitry Torokhov wrote: > >> > On Wed, Sep 30, 2009 at 10:07:46PM +0200, Pavel Machek wrote: > >> > > > >> > > It complains about unbalanced irq 113 wake disable. That one belongs > >> > > to matrix-keypad... > >> > > >> > I guess some of enable_irq_wake()s fail on your box. Do you see it if > >> > you apply the patch below? > >> > >> I'll do short test. But... if you are right, your patch will just make > >> your machine refuse to suspend... right? > >> > >> Ungood. > > > > It was just a debug patch. > > > >> > >> Actually, it seems to break suspend (returns -EINVAL while refusing > >> to suspend), warnings are still there, and keyboard is dead after > >> failed suspend... double plus ungood. > >> > >> Aha, so warning is solved: the one in the log is from gpio_buttons. > >> > > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > driver needs to maintain a separate list of wakeup GPIOs. > > > > This is due to the nature of PXA processor, where not every GPIO can > be configured as a wakeup source. Mmm.... we can either return a > pseudo value indicating setting wakeup on that GPIO is OK (which > doesn't sound like a good idea), or we can just ignore the failure of > enable_irq_wake() in matrix_keypad? We ignore the failure right now in the mainline but that causes stack traces on resume as we trying to disable not enabled wakeup GPIOs. That was original Pavel's complaint. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-10-07 16:33 ` Dmitry Torokhov (?) @ 2009-10-07 21:12 ` Pavel Machek -1 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-10-07 21:12 UTC (permalink / raw) To: Dmitry Torokhov Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > > driver needs to maintain a separate list of wakeup GPIOs. > > > > > > > This is due to the nature of PXA processor, where not every GPIO can > > be configured as a wakeup source. Mmm.... we can either return a > > pseudo value indicating setting wakeup on that GPIO is OK (which > > doesn't sound like a good idea), or we can just ignore the failure of > > enable_irq_wake() in matrix_keypad? > > We ignore the failure right now in the mainline but that causes stack > traces on resume as we trying to disable not enabled wakeup GPIOs. That > was original Pavel's complaint. Yep... I'd say that BUG() simply should not trigger if wakeup can not be enabled/disabled for particular source...? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 21:12 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-10-07 21:12 UTC (permalink / raw) To: linux-arm-kernel > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > > driver needs to maintain a separate list of wakeup GPIOs. > > > > > > > This is due to the nature of PXA processor, where not every GPIO can > > be configured as a wakeup source. Mmm.... we can either return a > > pseudo value indicating setting wakeup on that GPIO is OK (which > > doesn't sound like a good idea), or we can just ignore the failure of > > enable_irq_wake() in matrix_keypad? > > We ignore the failure right now in the mainline but that causes stack > traces on resume as we trying to disable not enabled wakeup GPIOs. That > was original Pavel's complaint. Yep... I'd say that BUG() simply should not trigger if wakeup can not be enabled/disabled for particular source...? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-10-07 21:12 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2009-10-07 21:12 UTC (permalink / raw) To: Dmitry Torokhov Cc: Rafael J. Wysocki, Eric Miao, dbaryshkov, Cyril Hrubis, arminlitzel, kernel list, Dirk, utx, lenz, rpurdie, omegamoon, linux-input, thommycheck, linux-arm-kernel > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > > driver needs to maintain a separate list of wakeup GPIOs. > > > > > > > This is due to the nature of PXA processor, where not every GPIO can > > be configured as a wakeup source. Mmm.... we can either return a > > pseudo value indicating setting wakeup on that GPIO is OK (which > > doesn't sound like a good idea), or we can just ignore the failure of > > enable_irq_wake() in matrix_keypad? > > We ignore the failure right now in the mainline but that causes stack > traces on resume as we trying to disable not enabled wakeup GPIOs. That > was original Pavel's complaint. Yep... I'd say that BUG() simply should not trigger if wakeup can not be enabled/disabled for particular source...? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-10-07 21:12 ` Pavel Machek @ 2009-12-03 3:17 ` Dmitry Torokhov -1 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-12-03 3:17 UTC (permalink / raw) To: Pavel Machek Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Wed, Oct 07, 2009 at 11:12:26PM +0200, Pavel Machek wrote: > > > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > > > driver needs to maintain a separate list of wakeup GPIOs. > > > > > > > > > > This is due to the nature of PXA processor, where not every GPIO can > > > be configured as a wakeup source. Mmm.... we can either return a > > > pseudo value indicating setting wakeup on that GPIO is OK (which > > > doesn't sound like a good idea), or we can just ignore the failure of > > > enable_irq_wake() in matrix_keypad? > > > > We ignore the failure right now in the mainline but that causes stack > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > was original Pavel's complaint. > > Yep... > > I'd say that BUG() simply should not trigger if wakeup can not be > enabled/disabled for particular source...? Pavel, Could you please try the patch below and let me know if it fixes the problem for you? Thanks. -- Dmitry Input: matrix-keypad - handle cases when GPIOs can't be wakeup sources From: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> --- drivers/input/keyboard/matrix_keypad.c | 29 ++++++++++++++++++++++------- 1 files changed, 22 insertions(+), 7 deletions(-) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 91cfe51..a1152ba 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -29,11 +29,13 @@ struct matrix_keypad { unsigned short *keycodes; unsigned int row_shift; + DECLARE_BITMAP(disabled_gpios, MATRIX_MAX_ROWS); + uint32_t last_key_state[MATRIX_MAX_COLS]; struct delayed_work work; + spinlock_t lock; bool scan_pending; bool stopped; - spinlock_t lock; }; /* @@ -221,9 +223,16 @@ static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t stat matrix_keypad_stop(keypad->input_dev); - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + if (!test_bit(i, keypad->disabled_gpios)) { + unsigned int gpio = pdata->row_gpios[i]; + + if (enable_irq_wake(gpio_to_irq(gpio)) == 0) + __set_bit(i, keypad->disabled_gpios); + } + } + } return 0; } @@ -234,9 +243,15 @@ static int matrix_keypad_resume(struct platform_device *pdev) const struct matrix_keypad_platform_data *pdata = keypad->pdata; int i; - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - disable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + if (test_and_clear_bit(i, keypad->disabled_gpios)) { + unsigned int gpio = pdata->row_gpios[i]; + + disable_irq_wake(gpio_to_irq(gpio)); + } + } + } matrix_keypad_start(keypad->input_dev); ^ permalink raw reply related [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2009-12-03 3:17 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2009-12-03 3:17 UTC (permalink / raw) To: linux-arm-kernel On Wed, Oct 07, 2009 at 11:12:26PM +0200, Pavel Machek wrote: > > > > > OK, so it looks like your box refuses to set up one of the GPIOs as a > > > > wakeup source... Hmm, either your box is wrong ;) or matrix_keypad > > > > driver needs to maintain a separate list of wakeup GPIOs. > > > > > > > > > > This is due to the nature of PXA processor, where not every GPIO can > > > be configured as a wakeup source. Mmm.... we can either return a > > > pseudo value indicating setting wakeup on that GPIO is OK (which > > > doesn't sound like a good idea), or we can just ignore the failure of > > > enable_irq_wake() in matrix_keypad? > > > > We ignore the failure right now in the mainline but that causes stack > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > was original Pavel's complaint. > > Yep... > > I'd say that BUG() simply should not trigger if wakeup can not be > enabled/disabled for particular source...? Pavel, Could you please try the patch below and let me know if it fixes the problem for you? Thanks. -- Dmitry Input: matrix-keypad - handle cases when GPIOs can't be wakeup sources From: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> --- drivers/input/keyboard/matrix_keypad.c | 29 ++++++++++++++++++++++------- 1 files changed, 22 insertions(+), 7 deletions(-) diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 91cfe51..a1152ba 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c @@ -29,11 +29,13 @@ struct matrix_keypad { unsigned short *keycodes; unsigned int row_shift; + DECLARE_BITMAP(disabled_gpios, MATRIX_MAX_ROWS); + uint32_t last_key_state[MATRIX_MAX_COLS]; struct delayed_work work; + spinlock_t lock; bool scan_pending; bool stopped; - spinlock_t lock; }; /* @@ -221,9 +223,16 @@ static int matrix_keypad_suspend(struct platform_device *pdev, pm_message_t stat matrix_keypad_stop(keypad->input_dev); - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + if (!test_bit(i, keypad->disabled_gpios)) { + unsigned int gpio = pdata->row_gpios[i]; + + if (enable_irq_wake(gpio_to_irq(gpio)) == 0) + __set_bit(i, keypad->disabled_gpios); + } + } + } return 0; } @@ -234,9 +243,15 @@ static int matrix_keypad_resume(struct platform_device *pdev) const struct matrix_keypad_platform_data *pdata = keypad->pdata; int i; - if (device_may_wakeup(&pdev->dev)) - for (i = 0; i < pdata->num_row_gpios; i++) - disable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); + if (device_may_wakeup(&pdev->dev)) { + for (i = 0; i < pdata->num_row_gpios; i++) { + if (test_and_clear_bit(i, keypad->disabled_gpios)) { + unsigned int gpio = pdata->row_gpios[i]; + + disable_irq_wake(gpio_to_irq(gpio)); + } + } + } matrix_keypad_start(keypad->input_dev); ^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2009-12-03 3:17 ` Dmitry Torokhov @ 2010-01-02 13:56 ` Pavel Machek -1 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-02 13:56 UTC (permalink / raw) To: Dmitry Torokhov Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki Hi! > > > We ignore the failure right now in the mainline but that causes stack > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > was original Pavel's complaint. > > > > Yep... > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > enabled/disabled for particular source...? > > Pavel, > > Could you please try the patch below and let me know if it fixes the > problem for you? (sorry for long delay). With 33-rc1+your patch, warnings are no longer there. I still have one on irq191, but that's gpio button driver. But please, hold the patch for few more days. I may have cleaner/nicer solution. It seems that zaurus is doing something very stupid in low layers. Thanks, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2010-01-02 13:56 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-02 13:56 UTC (permalink / raw) To: linux-arm-kernel Hi! > > > We ignore the failure right now in the mainline but that causes stack > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > was original Pavel's complaint. > > > > Yep... > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > enabled/disabled for particular source...? > > Pavel, > > Could you please try the patch below and let me know if it fixes the > problem for you? (sorry for long delay). With 33-rc1+your patch, warnings are no longer there. I still have one on irq191, but that's gpio button driver. But please, hold the patch for few more days. I may have cleaner/nicer solution. It seems that zaurus is doing something very stupid in low layers. Thanks, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2010-01-02 13:56 ` Pavel Machek @ 2010-01-02 15:27 ` Pavel Machek -1 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-02 15:27 UTC (permalink / raw) To: Dmitry Torokhov Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Sat 2010-01-02 14:56:09, Pavel Machek wrote: > Hi! > > > > > We ignore the failure right now in the mainline but that causes stack > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > was original Pavel's complaint. > > > > > > Yep... > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > enabled/disabled for particular source...? > > > > Pavel, > > > > Could you please try the patch below and let me know if it fixes the > > problem for you? > > (sorry for long delay). > > With 33-rc1+your patch, warnings are no longer there. > > I still have one on irq191, but that's gpio button driver. > > But please, hold the patch for few more days. I may have cleaner/nicer > solution. It seems that zaurus is doing something very stupid in low > layers. I'm thinking that maybe something like this should do the trick. --- ./arch/arm.ofic/mach-pxa/mfp-pxa2xx.c 2009-09-10 00:13:59.000000000 +0200 +++ ./arch/arm/mach-pxa/mfp-pxa2xx.c 2009-12-29 03:16:40.000000000 +0100 @@ -34,7 +34,6 @@ struct gpio_desc { unsigned valid : 1; unsigned can_wakeup : 1; - unsigned keypad_gpio : 1; unsigned dir_inverted : 1; unsigned int mask; /* bit mask in PWER or PKWR */ unsigned int mux_mask; /* bit mask of muxed gpio bits, 0 if no mux */ @@ -178,9 +177,6 @@ if (!d->valid) return -EINVAL; - if (d->keypad_gpio) - return -EINVAL; - mux_taken = (PWER & d->mux_mask) & (~d->mask); if (on && mux_taken) return -EBUSY; @@ -231,32 +227,6 @@ #endif /* CONFIG_PXA25x */ #ifdef CONFIG_PXA27x -static int pxa27x_pkwr_gpio[] = { - 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102 -}; - -int keypad_set_wake(unsigned int on) -{ - unsigned int i, gpio, mask = 0; - - if (!on) { - PKWR = 0; - return 0; - } - - for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { - - gpio = pxa27x_pkwr_gpio[i]; - - if (gpio_desc[gpio].config & MFP_LPM_CAN_WAKEUP) - mask |= gpio_desc[gpio].mask; - } - - PKWR = mask; - return 0; -} - #define PWER_WEMUX2_GPIO38 (1 << 16) #define PWER_WEMUX2_GPIO53 (2 << 16) #define PWER_WEMUX2_GPIO40 (3 << 16) @@ -273,6 +243,12 @@ gpio_desc[(gpio)].mux_mask = PWER_ ## mux ## _MASK; \ } while (0) + +static int pxa27x_pkwr_gpio[] = { + 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102 +}; + static void __init pxa27x_mfp_init(void) { int i, gpio; @@ -291,7 +267,6 @@ for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { gpio = pxa27x_pkwr_gpio[i]; gpio_desc[gpio].can_wakeup = 1; - gpio_desc[gpio].keypad_gpio = 1; gpio_desc[gpio].mask = 1 << i; } --- ./arch/arm.ofic/mach-pxa/pxa27x.c 2009-09-10 00:13:59.000000000 +0200 +++ ./arch/arm/mach-pxa/pxa27x.c 2009-12-29 03:13:00.000000000 +0100 @@ -323,9 +323,6 @@ if (gpio >= 0 && gpio < 128) return gpio_set_wake(gpio, on); - if (irq == IRQ_KEYPAD) - return keypad_set_wake(on); - switch (irq) { case IRQ_RTCAlrm: mask = PWER_RTC; -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2010-01-02 15:27 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-02 15:27 UTC (permalink / raw) To: linux-arm-kernel On Sat 2010-01-02 14:56:09, Pavel Machek wrote: > Hi! > > > > > We ignore the failure right now in the mainline but that causes stack > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > was original Pavel's complaint. > > > > > > Yep... > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > enabled/disabled for particular source...? > > > > Pavel, > > > > Could you please try the patch below and let me know if it fixes the > > problem for you? > > (sorry for long delay). > > With 33-rc1+your patch, warnings are no longer there. > > I still have one on irq191, but that's gpio button driver. > > But please, hold the patch for few more days. I may have cleaner/nicer > solution. It seems that zaurus is doing something very stupid in low > layers. I'm thinking that maybe something like this should do the trick. --- ./arch/arm.ofic/mach-pxa/mfp-pxa2xx.c 2009-09-10 00:13:59.000000000 +0200 +++ ./arch/arm/mach-pxa/mfp-pxa2xx.c 2009-12-29 03:16:40.000000000 +0100 @@ -34,7 +34,6 @@ struct gpio_desc { unsigned valid : 1; unsigned can_wakeup : 1; - unsigned keypad_gpio : 1; unsigned dir_inverted : 1; unsigned int mask; /* bit mask in PWER or PKWR */ unsigned int mux_mask; /* bit mask of muxed gpio bits, 0 if no mux */ @@ -178,9 +177,6 @@ if (!d->valid) return -EINVAL; - if (d->keypad_gpio) - return -EINVAL; - mux_taken = (PWER & d->mux_mask) & (~d->mask); if (on && mux_taken) return -EBUSY; @@ -231,32 +227,6 @@ #endif /* CONFIG_PXA25x */ #ifdef CONFIG_PXA27x -static int pxa27x_pkwr_gpio[] = { - 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102 -}; - -int keypad_set_wake(unsigned int on) -{ - unsigned int i, gpio, mask = 0; - - if (!on) { - PKWR = 0; - return 0; - } - - for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { - - gpio = pxa27x_pkwr_gpio[i]; - - if (gpio_desc[gpio].config & MFP_LPM_CAN_WAKEUP) - mask |= gpio_desc[gpio].mask; - } - - PKWR = mask; - return 0; -} - #define PWER_WEMUX2_GPIO38 (1 << 16) #define PWER_WEMUX2_GPIO53 (2 << 16) #define PWER_WEMUX2_GPIO40 (3 << 16) @@ -273,6 +243,12 @@ gpio_desc[(gpio)].mux_mask = PWER_ ## mux ## _MASK; \ } while (0) + +static int pxa27x_pkwr_gpio[] = { + 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102 +}; + static void __init pxa27x_mfp_init(void) { int i, gpio; @@ -291,7 +267,6 @@ for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { gpio = pxa27x_pkwr_gpio[i]; gpio_desc[gpio].can_wakeup = 1; - gpio_desc[gpio].keypad_gpio = 1; gpio_desc[gpio].mask = 1 << i; } --- ./arch/arm.ofic/mach-pxa/pxa27x.c 2009-09-10 00:13:59.000000000 +0200 +++ ./arch/arm/mach-pxa/pxa27x.c 2009-12-29 03:13:00.000000000 +0100 @@ -323,9 +323,6 @@ if (gpio >= 0 && gpio < 128) return gpio_set_wake(gpio, on); - if (irq == IRQ_KEYPAD) - return keypad_set_wake(on); - switch (irq) { case IRQ_RTCAlrm: mask = PWER_RTC; -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2010-01-02 15:27 ` Pavel Machek @ 2010-01-02 21:06 ` Pavel Machek -1 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-02 21:06 UTC (permalink / raw) To: Dmitry Torokhov Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Sat 2010-01-02 16:27:24, Pavel Machek wrote: > On Sat 2010-01-02 14:56:09, Pavel Machek wrote: > > Hi! > > > > > > > We ignore the failure right now in the mainline but that causes stack > > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > > was original Pavel's complaint. > > > > > > > > Yep... > > > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > > enabled/disabled for particular source...? > > > > > > Pavel, > > > > > > Could you please try the patch below and let me know if it fixes the > > > problem for you? > > > > (sorry for long delay). > > > > With 33-rc1+your patch, warnings are no longer there. > > > > I still have one on irq191, but that's gpio button driver. > > > > But please, hold the patch for few more days. I may have cleaner/nicer > > solution. It seems that zaurus is doing something very stupid in low > > layers. > > I'm thinking that maybe something like this should do the trick. And it does, simplyfing pxa-specific code. More testing would be nice, but I guess simplifying pxa is preferable to adding workarounds in input. Signed-off-by: Pavel Machek <pavel@ucw.cz> > --- ./arch/arm.ofic/mach-pxa/mfp-pxa2xx.c 2009-09-10 00:13:59.000000000 +0200 > +++ ./arch/arm/mach-pxa/mfp-pxa2xx.c 2009-12-29 03:16:40.000000000 +0100 > @@ -34,7 +34,6 @@ > struct gpio_desc { > unsigned valid : 1; > unsigned can_wakeup : 1; > - unsigned keypad_gpio : 1; > unsigned dir_inverted : 1; > unsigned int mask; /* bit mask in PWER or PKWR */ > unsigned int mux_mask; /* bit mask of muxed gpio bits, 0 if no mux */ > @@ -178,9 +177,6 @@ > if (!d->valid) > return -EINVAL; > > - if (d->keypad_gpio) > - return -EINVAL; > - > mux_taken = (PWER & d->mux_mask) & (~d->mask); > if (on && mux_taken) > return -EBUSY; > @@ -231,32 +227,6 @@ > #endif /* CONFIG_PXA25x */ > > #ifdef CONFIG_PXA27x > -static int pxa27x_pkwr_gpio[] = { > - 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, > - 95, 96, 97, 98, 99, 100, 101, 102 > -}; > - > -int keypad_set_wake(unsigned int on) > -{ > - unsigned int i, gpio, mask = 0; > - > - if (!on) { > - PKWR = 0; > - return 0; > - } > - > - for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { > - > - gpio = pxa27x_pkwr_gpio[i]; > - > - if (gpio_desc[gpio].config & MFP_LPM_CAN_WAKEUP) > - mask |= gpio_desc[gpio].mask; > - } > - > - PKWR = mask; > - return 0; > -} > - > #define PWER_WEMUX2_GPIO38 (1 << 16) > #define PWER_WEMUX2_GPIO53 (2 << 16) > #define PWER_WEMUX2_GPIO40 (3 << 16) > @@ -273,6 +243,12 @@ > gpio_desc[(gpio)].mux_mask = PWER_ ## mux ## _MASK; \ > } while (0) > > + > +static int pxa27x_pkwr_gpio[] = { > + 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, > + 95, 96, 97, 98, 99, 100, 101, 102 > +}; > + > static void __init pxa27x_mfp_init(void) > { > int i, gpio; > @@ -291,7 +267,6 @@ > for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { > gpio = pxa27x_pkwr_gpio[i]; > gpio_desc[gpio].can_wakeup = 1; > - gpio_desc[gpio].keypad_gpio = 1; > gpio_desc[gpio].mask = 1 << i; > } > > --- ./arch/arm.ofic/mach-pxa/pxa27x.c 2009-09-10 00:13:59.000000000 +0200 > +++ ./arch/arm/mach-pxa/pxa27x.c 2009-12-29 03:13:00.000000000 +0100 > @@ -323,9 +323,6 @@ > if (gpio >= 0 && gpio < 128) > return gpio_set_wake(gpio, on); > > - if (irq == IRQ_KEYPAD) > - return keypad_set_wake(on); > - > switch (irq) { > case IRQ_RTCAlrm: > mask = PWER_RTC; > > > -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2010-01-02 21:06 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-02 21:06 UTC (permalink / raw) To: linux-arm-kernel On Sat 2010-01-02 16:27:24, Pavel Machek wrote: > On Sat 2010-01-02 14:56:09, Pavel Machek wrote: > > Hi! > > > > > > > We ignore the failure right now in the mainline but that causes stack > > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > > was original Pavel's complaint. > > > > > > > > Yep... > > > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > > enabled/disabled for particular source...? > > > > > > Pavel, > > > > > > Could you please try the patch below and let me know if it fixes the > > > problem for you? > > > > (sorry for long delay). > > > > With 33-rc1+your patch, warnings are no longer there. > > > > I still have one on irq191, but that's gpio button driver. > > > > But please, hold the patch for few more days. I may have cleaner/nicer > > solution. It seems that zaurus is doing something very stupid in low > > layers. > > I'm thinking that maybe something like this should do the trick. And it does, simplyfing pxa-specific code. More testing would be nice, but I guess simplifying pxa is preferable to adding workarounds in input. Signed-off-by: Pavel Machek <pavel@ucw.cz> > --- ./arch/arm.ofic/mach-pxa/mfp-pxa2xx.c 2009-09-10 00:13:59.000000000 +0200 > +++ ./arch/arm/mach-pxa/mfp-pxa2xx.c 2009-12-29 03:16:40.000000000 +0100 > @@ -34,7 +34,6 @@ > struct gpio_desc { > unsigned valid : 1; > unsigned can_wakeup : 1; > - unsigned keypad_gpio : 1; > unsigned dir_inverted : 1; > unsigned int mask; /* bit mask in PWER or PKWR */ > unsigned int mux_mask; /* bit mask of muxed gpio bits, 0 if no mux */ > @@ -178,9 +177,6 @@ > if (!d->valid) > return -EINVAL; > > - if (d->keypad_gpio) > - return -EINVAL; > - > mux_taken = (PWER & d->mux_mask) & (~d->mask); > if (on && mux_taken) > return -EBUSY; > @@ -231,32 +227,6 @@ > #endif /* CONFIG_PXA25x */ > > #ifdef CONFIG_PXA27x > -static int pxa27x_pkwr_gpio[] = { > - 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, > - 95, 96, 97, 98, 99, 100, 101, 102 > -}; > - > -int keypad_set_wake(unsigned int on) > -{ > - unsigned int i, gpio, mask = 0; > - > - if (!on) { > - PKWR = 0; > - return 0; > - } > - > - for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { > - > - gpio = pxa27x_pkwr_gpio[i]; > - > - if (gpio_desc[gpio].config & MFP_LPM_CAN_WAKEUP) > - mask |= gpio_desc[gpio].mask; > - } > - > - PKWR = mask; > - return 0; > -} > - > #define PWER_WEMUX2_GPIO38 (1 << 16) > #define PWER_WEMUX2_GPIO53 (2 << 16) > #define PWER_WEMUX2_GPIO40 (3 << 16) > @@ -273,6 +243,12 @@ > gpio_desc[(gpio)].mux_mask = PWER_ ## mux ## _MASK; \ > } while (0) > > + > +static int pxa27x_pkwr_gpio[] = { > + 13, 16, 17, 34, 36, 37, 38, 39, 90, 91, 93, 94, > + 95, 96, 97, 98, 99, 100, 101, 102 > +}; > + > static void __init pxa27x_mfp_init(void) > { > int i, gpio; > @@ -291,7 +267,6 @@ > for (i = 0; i < ARRAY_SIZE(pxa27x_pkwr_gpio); i++) { > gpio = pxa27x_pkwr_gpio[i]; > gpio_desc[gpio].can_wakeup = 1; > - gpio_desc[gpio].keypad_gpio = 1; > gpio_desc[gpio].mask = 1 << i; > } > > --- ./arch/arm.ofic/mach-pxa/pxa27x.c 2009-09-10 00:13:59.000000000 +0200 > +++ ./arch/arm/mach-pxa/pxa27x.c 2009-12-29 03:13:00.000000000 +0100 > @@ -323,9 +323,6 @@ > if (gpio >= 0 && gpio < 128) > return gpio_set_wake(gpio, on); > > - if (irq == IRQ_KEYPAD) > - return keypad_set_wake(on); > - > switch (irq) { > case IRQ_RTCAlrm: > mask = PWER_RTC; > > > -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2010-01-02 13:56 ` Pavel Machek @ 2010-01-03 7:57 ` Dmitry Torokhov -1 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2010-01-03 7:57 UTC (permalink / raw) To: Pavel Machek Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Sat, Jan 02, 2010 at 02:56:09PM +0100, Pavel Machek wrote: > Hi! > > > > > We ignore the failure right now in the mainline but that causes stack > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > was original Pavel's complaint. > > > > > > Yep... > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > enabled/disabled for particular source...? > > > > Pavel, > > > > Could you please try the patch below and let me know if it fixes the > > problem for you? > > (sorry for long delay). > > With 33-rc1+your patch, warnings are no longer there. > Thank you for testing. > I still have one on irq191, but that's gpio button driver. > > But please, hold the patch for few more days. I may have cleaner/nicer > solution. It seems that zaurus is doing something very stupid in low layers. Sorry, it is already upstream. However I do think that the change is needed. As long as set_irq_wake() may return an error the driver should handle such error. Especially matrix_keypad that operates with large number of GPIOs but has only one knob for enabling wakeup. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2010-01-03 7:57 ` Dmitry Torokhov 0 siblings, 0 replies; 32+ messages in thread From: Dmitry Torokhov @ 2010-01-03 7:57 UTC (permalink / raw) To: linux-arm-kernel On Sat, Jan 02, 2010 at 02:56:09PM +0100, Pavel Machek wrote: > Hi! > > > > > We ignore the failure right now in the mainline but that causes stack > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > was original Pavel's complaint. > > > > > > Yep... > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > enabled/disabled for particular source...? > > > > Pavel, > > > > Could you please try the patch below and let me know if it fixes the > > problem for you? > > (sorry for long delay). > > With 33-rc1+your patch, warnings are no longer there. > Thank you for testing. > I still have one on irq191, but that's gpio button driver. > > But please, hold the patch for few more days. I may have cleaner/nicer > solution. It seems that zaurus is doing something very stupid in low layers. Sorry, it is already upstream. However I do think that the change is needed. As long as set_irq_wake() may return an error the driver should handle such error. Especially matrix_keypad that operates with large number of GPIOs but has only one knob for enabling wakeup. -- Dmitry ^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? 2010-01-03 7:57 ` Dmitry Torokhov @ 2010-01-03 8:00 ` Pavel Machek -1 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-03 8:00 UTC (permalink / raw) To: Dmitry Torokhov Cc: Eric Miao, rpurdie, lenz, kernel list, Dirk, arminlitzel, Cyril Hrubis, thommycheck, linux-arm-kernel, dbaryshkov, omegamoon, utx, linux-input, Rafael J. Wysocki On Sat 2010-01-02 23:57:33, Dmitry Torokhov wrote: > On Sat, Jan 02, 2010 at 02:56:09PM +0100, Pavel Machek wrote: > > Hi! > > > > > > > We ignore the failure right now in the mainline but that causes stack > > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > > was original Pavel's complaint. > > > > > > > > Yep... > > > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > > enabled/disabled for particular source...? > > > > > > Pavel, > > > > > > Could you please try the patch below and let me know if it fixes the > > > problem for you? > > > > (sorry for long delay). > > > > With 33-rc1+your patch, warnings are no longer there. > > > > Thank you for testing. > > > I still have one on irq191, but that's gpio button driver. > > > > But please, hold the patch for few more days. I may have cleaner/nicer > > solution. It seems that zaurus is doing something very stupid in low layers. > > Sorry, it is already upstream. However I do think that the change is > needed. As long as set_irq_wake() may return an error the driver should > handle such error. Especially matrix_keypad that operates with large > number of GPIOs but has only one knob for enabling wakeup. Ok, no problem. I still get problems with gpio-button driver, but there wakeup is per-button so... I'll just fix the wakeup handling on zaurus. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
* 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? @ 2010-01-03 8:00 ` Pavel Machek 0 siblings, 0 replies; 32+ messages in thread From: Pavel Machek @ 2010-01-03 8:00 UTC (permalink / raw) To: linux-arm-kernel On Sat 2010-01-02 23:57:33, Dmitry Torokhov wrote: > On Sat, Jan 02, 2010 at 02:56:09PM +0100, Pavel Machek wrote: > > Hi! > > > > > > > We ignore the failure right now in the mainline but that causes stack > > > > > traces on resume as we trying to disable not enabled wakeup GPIOs. That > > > > > was original Pavel's complaint. > > > > > > > > Yep... > > > > > > > > I'd say that BUG() simply should not trigger if wakeup can not be > > > > enabled/disabled for particular source...? > > > > > > Pavel, > > > > > > Could you please try the patch below and let me know if it fixes the > > > problem for you? > > > > (sorry for long delay). > > > > With 33-rc1+your patch, warnings are no longer there. > > > > Thank you for testing. > > > I still have one on irq191, but that's gpio button driver. > > > > But please, hold the patch for few more days. I may have cleaner/nicer > > solution. It seems that zaurus is doing something very stupid in low layers. > > Sorry, it is already upstream. However I do think that the change is > needed. As long as set_irq_wake() may return an error the driver should > handle such error. Especially matrix_keypad that operates with large > number of GPIOs but has only one knob for enabling wakeup. Ok, no problem. I still get problems with gpio-button driver, but there wakeup is per-button so... I'll just fix the wakeup handling on zaurus. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2010-01-03 8:00 UTC | newest] Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-09-30 20:07 32-rc1 aka 32-rc2: warning at manage.c:361 (set_irq_wake), matrix-keypad related? Pavel Machek 2009-09-30 20:07 ` Pavel Machek 2009-09-30 20:07 ` Pavel Machek 2009-10-06 5:06 ` Dmitry Torokhov 2009-10-06 5:06 ` Dmitry Torokhov 2009-10-06 5:06 ` Dmitry Torokhov 2009-10-06 7:58 ` Pavel Machek 2009-10-06 7:58 ` Pavel Machek 2009-10-07 4:36 ` Dmitry Torokhov 2009-10-07 4:36 ` Dmitry Torokhov 2009-10-07 4:36 ` Dmitry Torokhov 2009-10-07 14:42 ` Eric Miao 2009-10-07 14:42 ` Eric Miao 2009-10-07 14:42 ` Eric Miao 2009-10-07 16:33 ` Dmitry Torokhov 2009-10-07 16:33 ` Dmitry Torokhov 2009-10-07 16:33 ` Dmitry Torokhov 2009-10-07 21:12 ` Pavel Machek 2009-10-07 21:12 ` Pavel Machek 2009-10-07 21:12 ` Pavel Machek 2009-12-03 3:17 ` Dmitry Torokhov 2009-12-03 3:17 ` Dmitry Torokhov 2010-01-02 13:56 ` Pavel Machek 2010-01-02 13:56 ` Pavel Machek 2010-01-02 15:27 ` Pavel Machek 2010-01-02 15:27 ` Pavel Machek 2010-01-02 21:06 ` Pavel Machek 2010-01-02 21:06 ` Pavel Machek 2010-01-03 7:57 ` Dmitry Torokhov 2010-01-03 7:57 ` Dmitry Torokhov 2010-01-03 8:00 ` Pavel Machek 2010-01-03 8:00 ` Pavel Machek
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.