linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
       [not found] <bug-10327-10286@http.bugzilla.kernel.org/>
@ 2008-03-25 21:39 ` Andrew Morton
  2008-03-25 21:43   ` Marcus Better
  2008-03-26  8:47   ` [Bugme-new] " Marcus Better
  0 siblings, 2 replies; 8+ messages in thread
From: Andrew Morton @ 2008-03-25 21:39 UTC (permalink / raw)
  To: marcus; +Cc: bugme-daemon, linux-kernel, linux-input, netdev


(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Tue, 25 Mar 2008 14:22:51 -0700 (PDT)
bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=10327
> 
>            Summary: keyboard stops responding after "ifdown eth0"
>            Product: Drivers
>            Version: 2.5
>      KernelVersion: 2.6.24, 2.6.25-rc6
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Network
>         AssignedTo: jgarzik@pobox.com
>         ReportedBy: marcus@better.se
> 
> 
> Latest working kernel version: unknown
> Earliest failing kernel version: 2.6.24
> Distribution: Debian testing/unstable
> Hardware Environment: LG LE50 Express laptop
> Software Environment: Debian i386, X.org 7.3, KDE 4
> Problem Description:
> 
> The keyboard stops working when I'm manipulating the Ethernet interface while
> in an X.org session. The session doesn't respond to keyboard input, although
> the magic SysReq key still works, and the mouse also works. The only way out is
> a reboot.
> 
> The bug is triggered consistently when I bring down the eth0 interface with
> "ifdown eth0". (I normally use only wireless, so I didn't notice this before.)
> 
> Steps to reproduce:
> 
> Boot up, log in to KDE, bring up eth0, assign an address and send some traffic,
> then "ifdown eth0".
> 

(this is using sky2)


> ~$ cat /proc/interrupts
>            CPU0
>   0:      32835  local-APIC-edge-fasteoi   timer
>   1:         10   IO-APIC-edge      i8042
>   8:          2   IO-APIC-edge      rtc
>  12:        138   IO-APIC-edge      i8042
>  14:      28322   IO-APIC-edge      ide0
>  15:      10618   IO-APIC-edge      ide1
>  16:        334   IO-APIC-fasteoi   HDA Intel
>  19:      19243   IO-APIC-fasteoi   ohci_hcd:usb1, ohci_hcd:usb2, ehci_hcd:usb3
>  20:         20   IO-APIC-fasteoi   firewire_ohci, yenta, tifm_7xx1,
> sdhc0:slot0, sdhc0:slot1, sdhc0:slot2
>  21:       1827   IO-APIC-fasteoi   acpi
>  22:      19159   IO-APIC-fasteoi   0000:08:02.0
> 223:          2   PCI-MSI-edge      eth0
> NMI:          0   Non-maskable interrupts
> LOC:    1415833   Local timer interrupts
> TRM:          0   Thermal event interrupts
> SPU:          0   Spurious interrupts
> ERR:          0
> MIS:          0

So it's not an ill-advised disable_irq().

I guess the first question is: did the ifdown just kill the keyboard, or
did more things die?

Perhaps you could try

	ifdown eth0 ; sleep 5 ; ifup eth0

and see if the machine recovers?

(I am just maxed out on bug reports at present - could someone please take
this up and see if we can get it fixed?)


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-25 21:39 ` [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0" Andrew Morton
@ 2008-03-25 21:43   ` Marcus Better
  2008-03-26  0:01     ` Stefan Richter
  2008-03-26  8:47   ` [Bugme-new] " Marcus Better
  1 sibling, 1 reply; 8+ messages in thread
From: Marcus Better @ 2008-03-25 21:43 UTC (permalink / raw)
  To: Andrew Morton; +Cc: bugme-daemon, linux-kernel, linux-input, netdev

Andrew Morton wrote:
> Perhaps you could try
> 
> 	ifdown eth0 ; sleep 5 ; ifup eth0

Will try. There is also a Debian bug report of the same or a similar 
problem with kernels from 2.6.18:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415147


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-25 21:43   ` Marcus Better
@ 2008-03-26  0:01     ` Stefan Richter
  2008-03-26  0:16       ` Andrew Morton
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Richter @ 2008-03-26  0:01 UTC (permalink / raw)
  To: Marcus Better
  Cc: Andrew Morton, bugme-daemon, linux-kernel, linux-input, netdev

One possible reason for unresponsive keyboard is a workqueue job in the 
shared workqueue sleeping very long or indefinitely.

Sky2.c has only one workqueue job: sky2_restart().
-- 
Stefan Richter
-=====-==--- --== ==-=-
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-26  0:01     ` Stefan Richter
@ 2008-03-26  0:16       ` Andrew Morton
  2008-03-26  9:19         ` Marcus Better
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2008-03-26  0:16 UTC (permalink / raw)
  To: Stefan Richter
  Cc: Marcus Better, bugme-daemon, linux-kernel, linux-input, netdev

On Wed, 26 Mar 2008 01:01:28 +0100 Stefan Richter <stefanr@s5r6.in-berlin.de> wrote:

> One possible reason for unresponsive keyboard is a workqueue job in the 
> shared workqueue sleeping very long or indefinitely.
> 
> Sky2.c has only one workqueue job: sky2_restart().

Yeah.

Marcus, please try something like this:

- become root

- run

	( sleep 10 ; echo t > /proc/sysrq-trigger ) &
	ifdown eth0

- wait a minute or so

- reboot

- See if the sysrq-t output made it to /var/log/messages

  If it did, please send it as reply-to-all to this email.  Try to avoid
  wordwrapping it, as many do.

Thanks.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-25 21:39 ` [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0" Andrew Morton
  2008-03-25 21:43   ` Marcus Better
@ 2008-03-26  8:47   ` Marcus Better
  1 sibling, 0 replies; 8+ messages in thread
From: Marcus Better @ 2008-03-26  8:47 UTC (permalink / raw)
  To: Andrew Morton; +Cc: bugme-daemon, linux-kernel, linux-input, netdev

Andrew Morton wrote:
> Perhaps you could try
> 
> 	ifdown eth0 ; sleep 5 ; ifup eth0
> 
> and see if the machine recovers?

The keyboard locked up immediately, and the Konsole window where I typed 
the command also locked up and had to be killed forcibly.

Marcus


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-26  0:16       ` Andrew Morton
@ 2008-03-26  9:19         ` Marcus Better
  2008-03-26 17:29           ` Andrew Morton
  0 siblings, 1 reply; 8+ messages in thread
From: Marcus Better @ 2008-03-26  9:19 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Stefan Richter, bugme-daemon, linux-kernel, linux-input, netdev

Andrew Morton wrote:
> 	( sleep 10 ; echo t > /proc/sysrq-trigger ) &
> 	ifdown eth0
> 
> 
> - See if the sysrq-t output made it to /var/log/messages

No, not a word. It hung after printing this:

...
DHCPRELEASE ...
send_packet: Network is unreachable
send_packet: please consult README ...
sky2 eth0: disabling interface
~# sky2 eth0: enabling interface

I'm running ifplugd, but this time there was no network cable connected. 
Also ran from virtual console this time, the keyboard locked up like before.

SysRq keys work, so I could do sysrq-s, sysrq-b. Also pressed sysrq-t 
before rebooting.

Any use trying netconsole? Can I run it over the wireless interface?

Marcus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-26  9:19         ` Marcus Better
@ 2008-03-26 17:29           ` Andrew Morton
  2008-04-11 11:12             ` Marcus Better
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2008-03-26 17:29 UTC (permalink / raw)
  To: Marcus Better; +Cc: stefanr, bugme-daemon, linux-kernel, linux-input, netdev

On Wed, 26 Mar 2008 10:19:40 +0100
Marcus Better <marcus@better.se> wrote:

> Andrew Morton wrote:
> > 	( sleep 10 ; echo t > /proc/sysrq-trigger ) &
> > 	ifdown eth0
> > 
> > 
> > - See if the sysrq-t output made it to /var/log/messages
> 
> No, not a word. It hung after printing this:
> 
> ...
> DHCPRELEASE ...
> send_packet: Network is unreachable
> send_packet: please consult README ...
> sky2 eth0: disabling interface
> ~# sky2 eth0: enabling interface
> 
> I'm running ifplugd, but this time there was no network cable connected. 
> Also ran from virtual console this time, the keyboard locked up like before.
> 
> SysRq keys work, so I could do sysrq-s, sysrq-b. Also pressed sysrq-t 
> before rebooting.

It certainy does sound like networking has gummed up the keventd queue(s).

> Any use trying netconsole? Can I run it over the wireless interface?

I don't think many (or any?) wireless drivers support netconsole.

I'd suggest running (and perhaps suitably modifying) this:

diff -puN drivers/net/sky2.c~a drivers/net/sky2.c
--- a/drivers/net/sky2.c~a
+++ a/drivers/net/sky2.c
@@ -50,6 +50,8 @@
 
 #include "sky2.h"
 
+#define D() printk("%s:%d\n", __FILE__, __LINE__)
+
 #define DRV_NAME		"sky2"
 #define DRV_VERSION		"1.21"
 #define PFX			DRV_NAME " "
@@ -2931,32 +2933,42 @@ static void sky2_restart(struct work_str
 	struct net_device *dev;
 	int i, err;
 
+	D();
 	rtnl_lock();
+	D();
 	for (i = 0; i < hw->ports; i++) {
+		D();
 		dev = hw->dev[i];
 		if (netif_running(dev))
 			sky2_down(dev);
 	}
-
+	D();
 	napi_disable(&hw->napi);
+	D();
 	sky2_write32(hw, B0_IMSK, 0);
 	sky2_reset(hw);
 	sky2_write32(hw, B0_IMSK, Y2_IS_BASE);
 	napi_enable(&hw->napi);
-
+	D();
 	for (i = 0; i < hw->ports; i++) {
+		D();
 		dev = hw->dev[i];
 		if (netif_running(dev)) {
+			D();
 			err = sky2_up(dev);
+			D();
 			if (err) {
+				D();
 				printk(KERN_INFO PFX "%s: could not restart %d\n",
 				       dev->name, err);
 				dev_close(dev);
+			D();
 			}
 		}
 	}
-
+	D();
 	rtnl_unlock();
+	D();
 }
 
 static inline u8 sky2_wol_supported(const struct sky2_hw *hw)
_

to see if things are getting stuck and if so, where.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Bug 10327] New: keyboard stops responding after "ifdown eth0"
  2008-03-26 17:29           ` Andrew Morton
@ 2008-04-11 11:12             ` Marcus Better
  0 siblings, 0 replies; 8+ messages in thread
From: Marcus Better @ 2008-04-11 11:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: stefanr, bugme-daemon, linux-kernel, linux-input, netdev

Andrew Morton wrote:
> I'd suggest running (and perhaps suitably modifying) this:

This doesn't seem to help, it freezes without printing anything, and 
there is nothing in the logs either.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-04-11 11:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-10327-10286@http.bugzilla.kernel.org/>
2008-03-25 21:39 ` [Bugme-new] [Bug 10327] New: keyboard stops responding after "ifdown eth0" Andrew Morton
2008-03-25 21:43   ` Marcus Better
2008-03-26  0:01     ` Stefan Richter
2008-03-26  0:16       ` Andrew Morton
2008-03-26  9:19         ` Marcus Better
2008-03-26 17:29           ` Andrew Morton
2008-04-11 11:12             ` Marcus Better
2008-03-26  8:47   ` [Bugme-new] " Marcus Better

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).