Bug 6414 - irq 10: nobody cared - sky2 fails, sk98lin-8.31 works - Toshiba M45-S265
Summary: irq 10: nobody cared - sky2 fails, sk98lin-8.31 works - Toshiba M45-S265
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-19 15:40 UTC by chen
Modified: 2006-07-10 13:18 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.15, 2.6.16,2.6.17
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
dmesg information (19.42 KB, text/plain)
2006-04-20 12:37 UTC, chen
Details
lspci information (16.85 KB, text/plain)
2006-04-20 12:38 UTC, chen
Details
lspci information (after scp stalled.. ) (16.85 KB, text/plain)
2006-04-20 12:52 UTC, chen
Details
dmesg information (after scp stalled) (19.63 KB, text/plain)
2006-04-20 12:53 UTC, chen
Details
cat /proc/interrupts (648 bytes, text/plain)
2006-04-20 13:00 UTC, chen
Details
dmesg information if i use sk98lin driver (20.33 KB, text/plain)
2006-04-20 13:13 UTC, chen
Details
lspci information if i use sk98lin driver (16.85 KB, text/plain)
2006-04-20 13:16 UTC, chen
Details
dmesg information (boot with acpi=off option (17.83 KB, text/plain)
2006-04-25 15:54 UTC, chen
Details

Description chen 2006-04-19 15:40:44 UTC
Distribution: Fedora Core 5, kernel-2.6.15, update to kernel-2.6.16-9, or
kernel-2.6.17
Hardware Environment: Toshiba M45-S265 laptop, Marvell Yukon  Marvell Technology
Group Ltd. 88E8036 PCI-E Fast Ethernet Controller
 
Problem Description: cannot scp large file from my computer to other computer on
my laptop. or scp large file from other computer to my laptop on other computer.
even I can't fish/ftp large file .
it showed me stalled. all the other program can't work. I have to /sbin/service
newwork restart . then other program can work.

Steps to reproduce:
Comment 1 chen 2006-04-19 15:42:56 UTC
I change sky2 driver to sk98lin-8.31 (download ) everything work fine.
Comment 2 Andrew Morton 2006-04-19 15:53:22 UTC
bugme-daemon@bugzilla.kernel.org wrote:
>
> http://bugzilla.kernel.org/show_bug.cgi?id=6414
> 
>            Summary: sky2  problem
>     Kernel Version: 2.6.15, 2.6.16,2.6.17
>             Status: NEW
>           Severity: high
>              Owner: jgarzik@pobox.com
>          Submitter: chenzhq@126.com
> 
> 
> Distribution: Fedora Core 5, kernel-2.6.15, update to kernel-2.6.16-9, or
> kernel-2.6.17
> Hardware Environment: Toshiba M45-S265 laptop, Marvell Yukon  Marvell Technology
> Group Ltd. 88E8036 PCI-E Fast Ethernet Controller
>  
> Problem Description: cannot scp large file from my computer to other computer on
> my laptop. or scp large file from other computer to my laptop on other computer.
> even I can't fish/ftp large file .
> it showed me stalled. all the other program can't work. I have to /sbin/service
> newwork restart . then other program can work.
> 

Thanks.

Are you able to identify any earlier kernel version which didn't have this
problem?

Comment 3 chen 2006-04-20 07:44:41 UTC
Before I used Scientific Linux 4.2 , kernel is kernel-2.6.9-22.EL.i686, I have
to installed sk98lin then my network can work, everything is fine. once I
installed Scientific Linux Cern 4.3 , the kernel is kernel-2.6.9-34.EL.cern. In
this version, I can use network, but scp still stalled when I upload large file.
I think the problem is sky2. 
Comment 4 Stephen Hemminger 2006-04-20 11:00:30 UTC
Need more info about the hardware. Specifically: kernel console log (dmesg),
and more complete pci information (lspci -vv)

I can also give you a diagnostic patch that captures more info needed.
Comment 5 chen 2006-04-20 12:37:38 UTC
Created attachment 7918 [details]
dmesg information
Comment 6 chen 2006-04-20 12:38:35 UTC
Created attachment 7919 [details]
lspci information
Comment 7 Stephen Hemminger 2006-04-20 12:41:42 UTC
Okay, it looks like the ieee-1394 (ohci) is having problems too. Are you using it?

Does the ethernet (sky2) end up sharing an interrupt, please check by doing:
 cat /proc/interrupts

I saw cases where skge driver didn't work due to buggy ohci support. You
could try unconfiguring it (either in the kernel or BIOS).
Comment 8 chen 2006-04-20 12:52:10 UTC
Created attachment 7920 [details]
lspci information (after scp stalled.. )
Comment 9 chen 2006-04-20 12:53:07 UTC
Created attachment 7921 [details]
dmesg information (after scp stalled)
Comment 10 chen 2006-04-20 13:00:46 UTC
Created attachment 7922 [details]
cat /proc/interrupts

ieee-1394 (ohci) , I don't know what it is . how to unconfiguring it in kernel
?
Comment 11 chen 2006-04-20 13:13:53 UTC
Created attachment 7923 [details]
dmesg information if i use  sk98lin driver
Comment 12 chen 2006-04-20 13:16:01 UTC
Created attachment 7924 [details]
lspci information if i use  sk98lin driver
Comment 13 Stephen Hemminger 2006-04-21 13:14:21 UTC
Same root cause problem (transmit hangs) as bug 6284

*** This bug has been marked as a duplicate of 6284 ***
Comment 14 Stephen Hemminger 2006-04-21 13:15:36 UTC
No, this is not a dup, it is an irq problem.
Comment 15 Stephen Hemminger 2006-04-21 13:37:54 UTC
The problem here is caused by the BIOS as reported by:

Local APIC disabled by BIOS -- you can enable it with "lapic"

This means that you are stuck with edge triggered interrupts that just won't
work especially with the interrupt sharing.  Please try forcing the APIC with
the lapic boot command line option.

Looking at the manual for that laptop seems to imply you need to use the Windows
utility "Toshiba Hardware Setup" to access BIOS settings.
Comment 16 chen 2006-04-21 15:41:29 UTC
I tried lapic option in boot , 
in dmesg , it showed me 
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
but it still doesn't work.  
Comment 17 Stephen Hemminger 2006-04-24 14:01:35 UTC
The problem is that sky2 irq is shared but marked as edge-triggered.
This is a fundamental BIOS/ACPI problem.  Not really a driver bug.
ACPI is configuring XT-PIC and edge triggered.
Comment 18 Shaohua 2006-04-24 19:33:29 UTC
>The problem is that sky2 irq is shared but marked as edge-triggered.
Why do you think the irq is marked as edge triggered?

Can we have output of 'inb 0x4d0' and 'inb 0x4d1'? Then we can know if the 
interrupt is edge triggered.
Comment 19 Scott M. Likens 2006-04-24 21:25:09 UTC
just to crosspost from bugs.gentoo.org

using kenerl-2.6.16-gentoo-r3

NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 277 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 277 .. 254 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out

there was a decent amount of traffic I guess, so maybe it's related.
sky2 v1.1 addr 0xcaefc000 irq 17 Yukon-EC (0xb6) rev 2
sky2 eth0: addr 00:15:f2:1e:b7:b3
sky2 eth0: enabling interface


// dmesg

Linux version 2.6.16-gentoo-r3 (root@desolation) (gcc version 3.4.6 (Gentoo 3.4.
6, ssp-3.4.5-1.0, pie-8.7.9)) #1 SMP PREEMPT Wed Apr 19 15:20:57 PDT 2006
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003ffa0000 (usable)
 BIOS-e820: 000000003ffa0000 - 000000003ffae000 (ACPI data)
 BIOS-e820: 000000003ffae000 - 000000003ffe0000 (ACPI NVS)
 BIOS-e820: 000000003ffe0000 - 0000000040000000 (reserved)
 BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
127MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000ff780
On node 0 totalpages: 262048
  DMA zone: 4096 pages, LIFO batch:0
  DMA32 zone: 0 pages, LIFO batch:0
  Normal zone: 225280 pages, LIFO batch:31
  HighMem zone: 32672 pages, LIFO batch:7
DMI 2.3 present.
ACPI: RSDP (v002 ACPIAM                                ) @ 0x000facb0
ACPI: XSDT (v001 A M I  OEMXSDT  0x01000609 MSFT 0x00000097) @ 0x3ffa0100
ACPI: FADT (v003 A M I  OEMFACP  0x01000609 MSFT 0x00000097) @ 0x3ffa0290
ACPI: MADT (v001 A M I  OEMAPIC  0x01000609 MSFT 0x00000097) @ 0x3ffa0390
ACPI: OEMB (v001 A M I  AMI_OEM  0x01000609 MSFT 0x00000097) @ 0x3ffae040
  >>> ERROR: Invalid checksum
ACPI: MCFG (v001 A M I  OEMMCFG  0x01000609 MSFT 0x00000097) @ 0x3ffa8630
ACPI: DSDT (v001  A0227 A0227000 0x00000000 INTL 0x02002026) @ 0x00000000
ACPI: PM-Timer IO Port: 0x808
ACPI: Local APIC address 0xfee00000
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:4 APIC version 20
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:4 APIC version 20
ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 50000000 (gap: 40000000:bfb80000)
Built 1 zonelists
Kernel command line: dolvm2 real_root=/dev/hdg6 
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
CPU 0 irqstacks, hard=c0517000 soft=c050f000
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 3011.075 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1031408k/1048192k available (3058k kernel code, 16040k reserved, 851k da
ta, 220k init, 130688k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 6034.43 BogoMIPS (lpj=12068874)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 
00000000 00000000
CPU: After vendor identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 0
0000000 00000000
monitor/mwait feature present.
using mwait in idle threads.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: After all inits, caps: bfebfbff 20000000 00000000 00000180 0000649d 0000000
0 00000000
Checking 'hlt' instruction... OK.
CPU0: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03
Booting processor 1/1 eip 2000
CPU 1 irqstacks, hard=c0518000 soft=c0510000
Initializing CPU#1
Calibrating delay using timer specific routine.. 6021.68 BogoMIPS (lpj=12043377)
CPU: After generic identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 
00000000 00000000
CPU: After vendor identify, caps: bfebfbff 20000000 00000000 00000000 0000649d 0
0000000 00000000
monitor/mwait feature present.
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU: After all inits, caps: bfebfbff 20000000 00000000 00000180 0000649d 0000000
0 00000000
CPU1: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 03
Total of 2 processors activated (12056.12 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=-1 pin2=-1
checking TSC synchronization across 2 CPUs: passed.
Brought up 2 CPUs
migration_cost=4000
checking if image is initramfs... it is
Freeing initrd memory: 2258k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=4
PCI: Using MMCONFIG
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
Boot video device is 0000:04:00.0
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P3._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P7._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 *11 12 14 15)
ACPI: PCI Interrupt Link [LNKE] (IRQs *3 4 5 6 7 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 *11 12 14 15)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 17 devices
SCSI subsystem initialized
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
pnp: 00:08: ioport range 0x290-0x297 has been reserved
PCI: Bridge: 0000:00:01.0
  IO window: e000-efff
  MEM window: caf00000-cfffffff
  PREFETCH window: d0000000-dfffffff
PCI: Bridge: 0000:00:1c.0
  IO window: d000-dfff
  MEM window: disabled.
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1c.3
  IO window: c000-cfff
  MEM window: cae00000-caefffff
  PREFETCH window: disabled.
PCI: Bridge: 0000:00:1e.0
  IO window: a000-bfff
  MEM window: cad00000-cadfffff
  PREFETCH window: 50000000-500fffff
ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:01.0 to 64
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.0 to 64
ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1c.3 to 64
PCI: Setting latency timer of device 0000:00:1e.0 to 64
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug 
enabled
SGI XFS Quota Management subsystem
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:01.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:01.0:pcie00]
Allocate Port Service[0000:00:01.0:pcie03]
ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:00:1c.0 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.0:pcie00]
Allocate Port Service[0000:00:1c.0:pcie02]
Allocate Port Service[0000:00:1c.0:pcie03]
ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1c.3 to 64
assign_interrupt_mode Found MSI capability
Allocate Port Service[0000:00:1c.3:pcie00]
Allocate Port Service[0000:00:1c.3:pcie03]
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
PNP: PS/2 controller doesn't have AUX irq; using default 12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS0 at I/O 0x3f8 (irq = 0) is a 16550A
00:0e: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
mice: PS/2 mouse device common for all mice
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH7: IDE controller at PCI slot 0000:00:1f.1
ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 22 (level, low) -> IRQ 18
ICH7: chipset revision 1
ICH7: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:DMA
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
input: AT Translated Set 2 keyboard as /class/input/input0
hdb: PLEXTOR DVDR PX-716A, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
IT8212: IDE controller at PCI slot 0000:01:03.0
ACPI: PCI Interrupt 0000:01:03.0[A] -> GSI 20 (level, low) -> IRQ 19
IT8212: chipset revision 17
it821x: controller in pass through mode.
IT8212: 100% native mode on irq 19
    ide2: BM-DMA at 0xa400-0xa407, BIOS settings: hde:DMA, hdf:pio
    ide3: BM-DMA at 0xa408-0xa40f, BIOS settings: hdg:DMA, hdh:pio
Probing IDE interface ide2...
hde: ST3250823A, ATA DISK drive
ide2 at 0xb800-0xb807,0xb402 on irq 19
Probing IDE interface ide3...
hdg: ST3160023A, ATA DISK drive
ide3 at 0xb000-0xb007,0xa802 on irq 19
Probing IDE interface ide1...
hde: max request size: 512KiB
hde: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hde: cache flushes supported
 hde: hde1 hde2 hde3 hde4 < hde5 hde6 >
hdg: max request size: 512KiB
hdg: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63, UDMA(100)
hdg: cache flushes supported
 hdg: hdg1 hdg2 hdg3 < hdg5 hdg6 hdg7 >
hdb: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(66)
Uniform CD-ROM driver Revision: 3.20
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: raid10 personality registered for level 10
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
raid5: automatically using best checksumming function: pIII_sse
   pIII_sse  :  4378.000 MB/sec
raid5: using function: pIII_sse (4378.000 MB/sec)
raid6: int32x1    711 MB/s
raid6: int32x2    865 MB/s
raid6: int32x4    688 MB/s
raid6: int32x8    603 MB/s
raid6: mmxx1     1865 MB/s
raid6: mmxx2     1796 MB/s
raid6: sse1x1    1115 MB/s
raid6: sse1x2    1109 MB/s
raid6: sse2x1    2126 MB/s
raid6: sse2x2    2283 MB/s
raid6: using algorithm sse2x2 (2283 MB/s)
md: raid6 personality registered for level 6
md: multipath personality registered for level -4
md: faulty personality registered for level -5
md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: bitmap version 4.39
device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
device-mapper: dm-multipath version 1.0.4 loaded
device-mapper: dm-round-robin version 1.0.0 loaded
device-mapper: dm-emc version 0.0.3 loaded
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 6, 262144 bytes)
TCP established hash table entries: 262144 (order: 9, 3145728 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Starting balanced_irq
Using IPI Shortcut mode
Freeing unused kernel memory: 220k freed
usbcore: registered new driver usbfs
usbcore: registered new driver hub
ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 20 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: debug port 1
PCI: cache line size of 128 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: irq 19, io mem 0xcacff800
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 8 ports detected
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
usbcore: registered new driver libusual
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
USB Universal Host Controller Interface driver v2.3
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 20 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 19, io base 0x00007000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 17 (level, low) -> IRQ 20
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 20, io base 0x00007400
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 21
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
uhci_hcd 0000:00:1d.2: irq 21, io base 0x00007800
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.3[D] -> GSI 19 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1d.3 to 64
uhci_hcd 0000:00:1d.3: UHCI Host Controller
uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
uhci_hcd 0000:00:1d.3: irq 17, io base 0x00008000
usb usb5: configuration #1 chosen from 1 choice
hub 5-0:1.0: USB hub found
hub 5-0:1.0: 2 ports detected
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
sl811: driver sl811-hcd, 19 May 2005
ieee1394: Initialized config rom entry `ip1394'
usb 4-1: new low speed USB device using uhci_hcd and address 2
libata version 1.20 loaded.
usb 4-1: configuration #1 chosen from 1 choice
input: Logitech USB Receiver as /class/input/input1
input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.2-1
ata_piix 0000:00:1f.2: version 1.05
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 23 (level, low) -> IRQ 22
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x9800 ctl 0x9402 bmdma 0x8400 irq 22
ata2: SATA max UDMA/133 cmd 0x9000 ctl 0x8802 bmdma 0x8408 irq 22
ATA: abnormal status 0x7F on port 0x9807
ata1: disabling port
scsi0 : ata_piix
ATA: abnormal status 0x7F on port 0x9007
ata2: disabling port
scsi1 : ata_piix
ReiserFS: hdg6: warning: sh-2021: reiserfs_fill_super: can not find reiserfs on 
hdg6
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
gameport: NS558 PnP Gameport is pnp00:0c/gameport0, io 0x200, speed 764kHz
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 19 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:02:00.0 to 64
sky2 v1.1 addr 0xcaefc000 irq 17 Yukon-EC (0xb6) rev 2
sky2 eth0: addr 00:15:f2:1e:b7:b3
Linux agpgart interface v0.101 (c) Dave Jones
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP
,DMA]
agpgart: Detected an Intel 945G Chipset.
agpgart: AGP aperture is 256M @ 0x0
hda_codec: Unknown model for ALC882, trying auto-probe from BIOS...
Adding 979924k swap on /dev/hdg5.  Priority:-1 extents:1 across:979924k
EXT3 FS on hdg6, internal journal
XFS mounting filesystem hde5
Ending clean XFS mount for filesystem: hde5
NTFS driver 2.1.26 [Flags: R/O MODULE].
NTFS volume version 3.1.
XFS mounting filesystem dm-0
Ending clean XFS mount for filesystem: dm-0
Real Time Clock Driver v1.12ac
sky2 eth0: enabling interface
sky2 eth0: Link is up at 100 Mbps, full duplex, flow control none
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 277 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 277 .. 254 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 276 .. 253 report=299 done=299
sky2 status report lost?
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 299 .. 276 report=299 done=299
sky2 hardware hung? flushing
sky2 eth0: disabling interface
bridge-eth0: disabling the bridge
bridge-eth0: down
ACPI: PCI interrupt for device 0000:02:00.0 disabled
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 19 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:02:00.0 to 64
sky2 v1.1 addr 0xcaefc000 irq 17 Yukon-EC (0xb6) rev 2
sky2 eth0: addr 00:15:f2:1e:b7:b3
sky2 eth0: enabling interface
bridge-eth0: enabling the bridge
bridge-eth0: up
sky2 eth0: Link is up at 100 Mbps, full duplex, flow control none
device eth0 entered promiscuous mode
device eth0 left promiscuous mode

// end

basically just had to ifconfig eth0 down, rmmod sky2, and then modprobe sky2 to
correct it.

but pretty interesting stuff.
Comment 20 Len Brown 2006-04-25 10:50:22 UTC
Chen,
Please boot with "acpi=off" and attach the output from dmesg -s64000
and paste in the contents of /proc/interrupts
and report if the sky2 is working or not.

Also, if you rmmod the driver and then load it again, as suggested
by Scott, does the problem go away?

Can you answer Shaohua's question?
> 'inb 0x4d0' and 'inb 0x4d1'?

Stephen,
XT-PIC mode is independent of level vs. edge triggering.
LAPIC mode is independent of level vs. edge triggering,

> Local APIC disabled by BIOS -- you can enable it with "lapic"

BTW. It is usually a very bad idea to over-ride the BIOS on this.
Indeed, it is usually such a bad idea, that this line should
probably be removed from the kernel to not tempt people.

Stephen,  What is the interaction between ohci and the NIC that you've
see as an issue in the past?  Chen, A simple way to to prevent the
X module from loading is to find it under /lib/modules X.ko, gzip it
and reboot.

Here is the failing device:

> lspci -vv

01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8036 PCI-E Fast 
Ethernet Controller (rev 10)
        Interrupt: pin A routed to IRQ 11

> failing dmesg

ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> 
IRQ 11
PCI: Setting latency timer of device 0000:01:00.0 to 64
sky2 v0.15 addr 0xcc000000 irq 11 Yukon-FE (0xb7) rev 1
sky2 eth0: addr 00:a0:d1:21:5b:e1


> working dmesg

ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> 
IRQ 11
sk98lin: Network Device Driver v8.31.2.3
(C)Copyright 1999-2006 Marvell(R).

In both cases, the device is using IRQ11.  Unclear why sky fails
and sk98lin works.  Maybe sk98lin is doing some polling and sky is not?

Both cases share the serious issue that IRQ10 is broken:

irq 10: nobody cared

This could happen if the NIC registers on IRQ11, but is really
pulling on IRQ10.

(shot in dark) Any change if you boot with sky2.disable_msi=1
Comment 21 Stephen Hemminger 2006-04-25 11:36:47 UTC
I am not sure what the interaction between uhci (ieee1394) and sky2 is caused
by; but I have had several reports of people who were unsuccessful in gettine
sky2 to work with uhci due to lost interrupts.

The vendor version of sk98lin does a number of things incorrectly, such as NAPI
with interrupts disabled, not controlling chip correctly, reconfiguring PCI bus,
and has a 5 second timer that basically resets the device.  Let's just not go
there, it's crap...

Comment 22 chen 2006-04-25 15:54:25 UTC
Created attachment 7959 [details]
dmesg information (boot with acpi=off option

Len Brown,
 boot with "acpi=off" doesn't help
 /proc/interrupts
	  CPU0
  0:	 322211 	 XT-PIC  timer
  1:	    673 	 XT-PIC  i8042
  2:	      0 	 XT-PIC  cascade
  5:	      0 	 XT-PIC  Intel ICH6 Modem
  8:	      1 	 XT-PIC  rtc
  9:	    101 	 XT-PIC  acpi
 10:	 100000 	 XT-PIC  Intel ICH6, ehci_hcd:usb1, uhci_hcd:usb2
 11:	  60141 	 XT-PIC  yenta, eth0, ipw2200, ohci1394, uhci_hcd:usb3,
uhci_hcd:usb4, uhci_hcd:usb5, i915@pci:0000:00:02.0
 12:	    128 	 XT-PIC  i8042
 14:	  17440 	 XT-PIC  libata
 15:	  10750 	 XT-PIC  ide1
NMI:	      0
LOC:	      0
ERR:	      0
MIS:	      0

 rmmod the driver and then load it again, as suggested
by Scott, also can't work.
I don't know how to do it about  'inb 0x4d0' and 'inb 0x4d1'.
Comment 23 Len Brown 2006-04-26 19:17:05 UTC
Since this fails the same way with "acpi=off",
including "irq 10: nobody cared"
this appears to be a driver/system specific bug, and I'm
booting this out of the ACPI category.

> I don't know how to do it about  'inb 0x4d0' and 'inb 0x4d1'.

There are (root privledged) user-level commands to execute
these assembly instructions for you.  eg.

# inb 0x4d0
0x00
# inb 0x4d1
0x0E

Please run these on your system and it should confirm the state
of the ELCR in the PIC.
Comment 24 Stephen Hemminger 2006-05-11 14:35:31 UTC
Please reproduce with 2.6.17-r3-git18 (or later) version.
There was a bug in the IRQ masking that just got fixed.
Comment 25 Adrian Bunk 2006-07-10 13:18:19 UTC
Please reopent this bug if it's still present in kernel 2.6.17.

Note You need to log in before you can comment on or make changes to this bug.