I am running into a crash on 2.6.36-rc7 kernel when I am bringing ohci controller out of suspend. Our suspend gates the clocks, so any access to the ohci registers becomes a bus error.
I tracked the crash down to hcd polling function running off the timer. And it happens _before_ pm core calls our ohci resume method.
#1 0x80310b84 in ohci_hub_status_data (hcd=<value optimized out>, buf=<value optimized out>)
at drivers/usb/host/ohci-hub.c:520
#2 0x802f11a0 in usb_hcd_poll_rh_status (hcd=<value optimized out>) at drivers/usb/core/hcd.c:675
#3 0x8003faec in call_timer_fn (h=<value optimized out>) at kernel/timer.c:1057
#4 __run_timers (h=<value optimized out>) at kernel/timer.c:1118
#5 run_timer_softirq (h=<value optimized out>) at kernel/timer.c:1297
#6 0x80038ff0 in __do_softirq () at kernel/softirq.c:219
#7 0x80039140 in do_softirq () at kernel/softirq.c:266
#8 0x800392d8 in irq_exit () at kernel/softirq.c:303
#9 0x8000c35c in plat_irq_dispatch (regs=<value optimized out>) at arch/mips/brcmstb/irq.c:423
#10 0x80001784 in ret_from_exception () at arch/mips/kernel/entry.S:34
The simplest fix was to clear hcd->rh_pollable before going into suspend, and restoring it after resume, but I am wondering if it is a known issue and there is a better solution to the problem.
Thanks,
Maksim Rayskiy.
_______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm