diff options
author | Ishizaki Kou <kou.ishizaki@toshiba.co.jp> | 2007-07-09 18:17:42 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-07-10 12:22:30 -0400 |
commit | 7a627558214664f0e071b2652fc37e4d7d3dce32 (patch) | |
tree | ccaa169e29df4f8ea82716a2489ac7451edf6efc /drivers/sh | |
parent | b8a1fcee26126b566d9e28ba80c643a7a10543eb (diff) |
spidernet: improve interrupt handling
We intend this patch to improve spidernet interrupt handling to be
more strict. We had following problem and this patch solves it.
-when CONFIG_DEBUG_SHIRQ=y, request_irq() calls handler().
-when spider_net_open() is called, it calls request_irq() which calls
spider_net_interrupt().
-if some specific interrupt bit is set at this timing, it calls
netif_rx_schedule() and spider_net_poll() is scheduled.
-spider_net_open() calls netif_poll_enable() which clears the bit
__LINK_STATE_RX_SCHED.
-when spider_net_poll() is called, it calls netif_rx_complete() which
causes BUG_ON() because __LINK_STATE_RX_SCHED is not set.
Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/sh')
0 files changed, 0 insertions, 0 deletions