]> git.baikalelectronics.ru Git - kernel.git/commit
fix random hang in forcedeth driver when using netconsole
authorTimo Jantunen <jeti@iki.fi>
Tue, 14 Aug 2007 18:56:57 +0000 (21:56 +0300)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 18 Aug 2007 16:58:51 +0000 (09:58 -0700)
commit2b327770762a101c5c90d8c01620141e52abe7fd
treecf69d0e212c9187696c205e9f9330e09f44c4c87
parentb7fb94277f825356e87ebca96bd69e7d7104ac53
fix random hang in forcedeth driver when using netconsole

If the forcedeth driver receives too much work in an interrupt, it
assumes it has a broken hardware with stuck IRQ.  It works around the
problem by disabling interrupts on the nic but makes a printk while
holding device spinlog - which isn't smart thing to do if you have
netconsole on the same nic.

This patch moves the printk's out of the spinlock protected area.

Without this patch the machine hangs hard.  With this patch everything
still works even when there is significant increase on CPU usage while
using the nic.

Signed-off-by: Timo Jantunen <jeti@iki.fi>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/net/forcedeth.c