2004-11-16 11:51:07

by Soeren Sonnenburg

[permalink] [raw]
Subject: 2.6.10-rc2 pbook oops on resume

machine comes up ok, but I see this oops in dmesg... Any ideas ?

Soeren

hda: Set PIO timing for mode 0, reg: 0x0c50032b
eth0: suspending, WakeOnLan disabled
radeonfb: suspending to state: 3...
agpgart: Putting AGP V2 device at 0000:00:0b.0 into 0x mode
agpgart: Putting AGP V2 device at 0000:00:10.0 into 0x mode
radeonfb: switching to D2 state...
cpufreq: resume failed to assert current frequency is what timing core
thinks it is.
radeonfb: switching to D0 state...
radeonfb: resumed !
Badness in enable_irq at kernel/irq/manage.c:106
Call trace:
[c0007570] dump_stack+0x18/0x28
[c000536c] check_bug_trap+0xb4/0xf0
[c0005538] ProgramCheckException+0x190/0x1c0
[c0004954] ret_from_except_full+0x0/0x4c
[c003cd70] enable_irq+0xa0/0xa8
[c02813e8] ohci_pci_resume+0xbc/0xd4
[c0277ee0] usb_hcd_pci_resume+0xb0/0x114
[c01c9fbc] pci_device_resume+0x4c/0x50
[c0224d2c] resume_device+0x44/0x4c
[c0224e64] dpm_resume+0x130/0x148
[c0224eb4] device_resume+0x38/0x78
[c04b1be4] 0xc04b1be4
[c04b20cc] 0xc04b20cc
[c04b2930] 0xc04b2930
[c0078e34] sys_ioctl+0x100/0x318
Badness in enable_irq at kernel/irq/manage.c:106
Call trace:
[c0007570] dump_stack+0x18/0x28
[c000536c] check_bug_trap+0xb4/0xf0
[c0005538] ProgramCheckException+0x190/0x1c0
[c0004954] ret_from_except_full+0x0/0x4c
[c003cd70] enable_irq+0xa0/0xa8
[c02813e8] ohci_pci_resume+0xbc/0xd4
[c0277ee0] usb_hcd_pci_resume+0xb0/0x114
[c01c9fbc] pci_device_resume+0x4c/0x50
[c0224d2c] resume_device+0x44/0x4c
[c0224e64] dpm_resume+0x130/0x148
[c0224eb4] device_resume+0x38/0x78
[c04b1be4] 0xc04b1be4
[c04b20cc] 0xc04b20cc
[c04b2930] 0xc04b2930
[c0078e34] sys_ioctl+0x100/0x318

--
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.


2004-11-17 05:49:57

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.10-rc2 pbook oops on resume

Soeren Sonnenburg <[email protected]> wrote:
>
> machine comes up ok, but I see this oops in dmesg... Any ideas ?

That would be due to this code in ohci_pci_resume():

#ifdef CONFIG_PMAC_PBOOK
if (_machine == _MACH_Pmac)
enable_irq (to_pci_dev(hcd->self.controller)->irq);
#endif

enabling an already-enabled IRQ.

I think Ben plays in this area?

> Soeren
>
> hda: Set PIO timing for mode 0, reg: 0x0c50032b
> eth0: suspending, WakeOnLan disabled
> radeonfb: suspending to state: 3...
> agpgart: Putting AGP V2 device at 0000:00:0b.0 into 0x mode
> agpgart: Putting AGP V2 device at 0000:00:10.0 into 0x mode
> radeonfb: switching to D2 state...
> cpufreq: resume failed to assert current frequency is what timing core
> thinks it is.
> radeonfb: switching to D0 state...
> radeonfb: resumed !
> Badness in enable_irq at kernel/irq/manage.c:106
> Call trace:
> [c0007570] dump_stack+0x18/0x28
> [c000536c] check_bug_trap+0xb4/0xf0
> [c0005538] ProgramCheckException+0x190/0x1c0
> [c0004954] ret_from_except_full+0x0/0x4c
> [c003cd70] enable_irq+0xa0/0xa8
> [c02813e8] ohci_pci_resume+0xbc/0xd4
> [c0277ee0] usb_hcd_pci_resume+0xb0/0x114
> [c01c9fbc] pci_device_resume+0x4c/0x50
> [c0224d2c] resume_device+0x44/0x4c
> [c0224e64] dpm_resume+0x130/0x148
> [c0224eb4] device_resume+0x38/0x78
> [c04b1be4] 0xc04b1be4
> [c04b20cc] 0xc04b20cc
> [c04b2930] 0xc04b2930
> [c0078e34] sys_ioctl+0x100/0x318
> Badness in enable_irq at kernel/irq/manage.c:106
> Call trace:
> [c0007570] dump_stack+0x18/0x28
> [c000536c] check_bug_trap+0xb4/0xf0
> [c0005538] ProgramCheckException+0x190/0x1c0
> [c0004954] ret_from_except_full+0x0/0x4c
> [c003cd70] enable_irq+0xa0/0xa8
> [c02813e8] ohci_pci_resume+0xbc/0xd4
> [c0277ee0] usb_hcd_pci_resume+0xb0/0x114
> [c01c9fbc] pci_device_resume+0x4c/0x50
> [c0224d2c] resume_device+0x44/0x4c
> [c0224e64] dpm_resume+0x130/0x148
> [c0224eb4] device_resume+0x38/0x78
> [c04b1be4] 0xc04b1be4
> [c04b20cc] 0xc04b20cc
> [c04b2930] 0xc04b2930
> [c0078e34] sys_ioctl+0x100/0x318
>
> --
> Sometimes, there's a moment as you're waking, when you become aware of
> the real world around you, but you're still dreaming.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2004-11-17 06:11:50

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: 2.6.10-rc2 pbook oops on resume

On Tue, 2004-11-16 at 21:49 -0800, Andrew Morton wrote:
> Soeren Sonnenburg <[email protected]> wrote:
> >
> > machine comes up ok, but I see this oops in dmesg... Any ideas ?
>
> That would be due to this code in ohci_pci_resume():
>
> #ifdef CONFIG_PMAC_PBOOK
> if (_machine == _MACH_Pmac)
> enable_irq (to_pci_dev(hcd->self.controller)->irq);
> #endif
>
> enabling an already-enabled IRQ.
>
> I think Ben plays in this area?

Yes. It's not an oops tho, and is harmless for now... The pmac code used
to disable/enable irq around sleep, but that caused this problem when
David added code to unregister/re-register the irq during sleep as well
to the generic HCD stuff.

I have some pending patches, haven't had time to finish them tho... I
have a lot of sleep-related pmac update that are waiting for me to
finish getting the stuff working on the iBook G4, and it's part of that
pile... I'll let you know tomorrow.

Ben.