Red Hat Bugzilla – Bug 137214
netconsole freezes during printk() when output link not up
Last modified: 2010-10-21 22:40:09 EDT
This is the RHEL2.1 version of bug #127815. It is supposed to be
fixed by a patch that went into the RHEL3 U4 patch pool.
If you set up netconsole on a box with an e100 network card, unplug
the network cable for 20 seconds or so, then plug it back in, the
machine hangs right after printing the `e100: eth3 NIC Link is Up 100
Mbps Full duplex' message.
Same patch submitted for inclusion in AS2.1.
Created attachment 110099 [details]
Fix for e100 netconsole lockup
When the e100 overflows the transmit buffer, the queue is stopped and
e100_net_poll never starts it again. So netpoll_send_skb loops forever.
The patch posted in comment #2 is NOT the right fix for this issue. The issue
we're discussing involves being unable to send a printk due to the network link
being down. In this case, we loop forever in transmit_raw_skb. The idea, here,
is that by calling the network adapter's poll routine, we will free up some
resources that will allow us to send the packet. However, the inability to send
a packet is not caused by a lack of resources, in this case.
I'll attach the same fix that was applied in the RHEL 3 tree.
Created attachment 118599 [details]
fix hang in netconsole when doing a printk with link down
The previous patch is for a different problem. This patch solves the problem
listed in this bugzilla.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.