HCD polling root hub status before controller is brought out of suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

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

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux