On Thursday 16 February 2006 23:55, Stephen Hemminger wrote: > Could everyone who has problems with hangs try the following patch (against > current 2.6.16-rc3 version) If it gets mangled (it's also at > http://developer.osdl.org/shemminger/prototypes/sky2-0.15-0.16.diff).
Hi Stephen, thank you for the patch. The hang still occurs, but I have some debugging data from the proc file that might be helpful. Firstly, I patched sky2_seq_show() slightly to avoid a segfault, there seems to be only one port registered in my setup. Secondly, I added output of the raw op numer, since the if's/switch didn't give any output for op 0x41 (OP_PACKET). --- linux-2.6.16-rc3/drivers/net/sky2.c-0.16 2006-02-17 07:57:21.000000000 +0100 +++ linux-2.6.16-rc3/drivers/net/sky2.c 2006-02-17 10:35:37.000000000 +0100 @@ -3219,7 +3219,7 @@ struct net_device *dev = hw->dev[i]; const struct sky2_port *sky2 = netdev_priv(dev); - if (!netif_running(dev)) + if ((dev == 0) || (!netif_running(dev))) continue; seq_printf(seq, "%s: transmit ring\n", dev->name); @@ -3233,6 +3233,7 @@ u8 op = le->opcode & ~HW_OWNER; seq_putc(seq, ' '); + seq_printf(seq, "(%#x) ", op); if (op & 0x10) { seq_puts(seq, "tcp:"); Output of idle/alive state is: [EMAIL PROTECTED]:/usr/src$ cat /proc/net/sky2/0000\:03\:00.0 Intr mask=0xcf00001f Status ring: eth0: transmit ring I reproduced the hang 5 times. Output at hang is: hang #1: [EMAIL PROTECTED]:/usr/src$ cat /proc/net/sky2/0000\:03\:00.0 Intr mask=0xcf00001f Status ring: eth0: transmit ring [122] 0x73c70e5e:66 hang #2: [EMAIL PROTECTED]:/usr/src$ cat /proc/net/sky2/0000\:03\:00.0 Intr mask=0xcf00001f Status ring: eth0: transmit ring [68] (0x41) 0x7fae425e:66 [69] (0x41) 0x73c70e5e:66 hang #3: [EMAIL PROTECTED]:/usr/src$ cat /proc/net/sky2/0000\:03\:00.0 Intr mask=0xcf00001f Status ring: eth0: transmit ring [241] (0x41) 0x743f0c5e:66 hang #4: [EMAIL PROTECTED]:/usr/src$ cat /proc/net/sky2/0000\:03\:00.0 Intr mask=0xcf00001f Status ring: eth0: transmit ring [496] (0x41) 0x20251a5e:66 hang #5: [EMAIL PROTECTED]:/usr/src$ cat /proc/net/sky2/0000\:03\:00.0 Intr mask=0xcf00001f Status ring: eth0: transmit ring [241] (0x41) 0x73c5185e:66 Is this helpful? As mentioned, I can reproduce this quite easily (within a few minutes), so feel free to send me more patches for testing. Finally: thanks a lot for taking the effort of writing the sky2 driver. I appreciate it very much to have my hardware finally supported with vanilla kernel :-) Wolfgang - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html