https://bugzilla.kernel.org/show_bug.cgi?id=33872
Len Brown <l...@kernel.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|System Hangs on Shutdown |System Hangs on Shutdown, | |Disabling IRQ #19, unless | |rmmod e1000e - ThinkPad | |T510, X60, X61s --- Comment #86 from Len Brown <l...@kernel.org> 2011-07-31 16:45:32 --- re: comment #78 > it hangs in the napi_disable() function > defined in include/linux/netdevice.h, > when called from e1000e_down() in drivers/net/e1000e/netdev.c. /** * napi_disable - prevent NAPI from scheduling * @n: napi context * * Stop NAPI from being scheduled on this context. * Waits till any outstanding processing completes. */ static inline void napi_disable(struct napi_struct *n) { set_bit(NAPI_STATE_DISABLE, &n->state); while (test_and_set_bit(NAPI_STATE_SCHED, &n->state)) msleep(1); clear_bit(NAPI_STATE_DISABLE, &n->state); } I don't think lockup detection will flag this while loop. void e1000e_down(struct e1000_adapter *adapter) ... /* disable transmits in the hardware */ tctl = er32(TCTL); tctl &= ~E1000_TCTL_EN; ew32(TCTL, tctl); /* flush both disables and wait for them to finish */ e1e_flush(); usleep_range(10000, 20000); napi_disable(&adapter->napi); e1000_irq_disable(adapter); del_timer_sync(&adapter->watchdog_timer); del_timer_sync(&adapter->phy_info_timer); BTW. I always suspect magic numbers like usleep_range above. What if you increase them both, say by a factor of 4? Also, e1000e_down is called when unloading the driver before shutdown and that works -- so what is special about when it is called in the shutdown path that makes it fail? Re: "Disabling IRQ #19" message On Diego's box, ips and EHCI are on IRQ 19. This message indicates that they shutdown properly. The real problem, of course, is e1000e that follows, and it is not on IRQ 19, but is on IRQ 20/MSI 41: [ 6.189628] e1000e: Intel(R) PRO/1000 Network Driver - 1.2.20-k2 [ 6.189633] e1000e: Copyright(c) 1999 - 2011 Intel Corporation. [ 6.189687] e1000e 0000:00:19.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20 [ 6.189706] e1000e 0000:00:19.0: setting latency timer to 64 [ 6.190059] e1000e 0000:00:19.0: irq 41 for MSI/MSI-X -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla