Opened 12 years ago

Closed 12 years ago

#463 closed defect (worksforme)

The presence of the ISA bus driver and the USB HC drivers hangs the system during boot

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone: 0.5.0
Component: helenos/drv/isa Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

mainline,1376 changed the ISA-bridge match ID from the vendor/device scheme to the class/subclass scheme. Unfortunately, the change hangs my desktop shortly after input is started. Reverting the change fixes the problem.

My lspci -nn output:

00:00.0 Host bridge [0600]: Advanced Micro Devices [AMD] RS880 Host Bridge [1022:9601]
00:01.0 PCI bridge [0604]: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (int gfx) [1022:9602]
00:0a.0 PCI bridge [0604]: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 5) [1022:9609]
00:11.0 SATA controller [0106]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] [1002:4390] (rev 40)
00:12.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:12.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:13.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:13.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:14.0 SMBus [0c05]: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller [1002:4385] (rev 41)
00:14.1 IDE interface [0101]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller [1002:439c] (rev 40)
00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
00:14.3 ISA bridge [0601]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller [1002:439d] (rev 40)
00:14.4 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge [1002:4384] (rev 40)
00:14.5 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller [1002:4399]
00:15.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) [1002:43a0]
00:15.1 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1) [1002:43a1]
00:16.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:16.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration [1022:1200]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Address Map [1022:1201]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller [1022:1202]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control [1022:1203]
00:18.4 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Link Control [1022:1204]
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD 4250] [1002:9715]
01:05.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI RS880 HDMI Audio [Radeon HD 4200 Series] [1002:970f]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
03:0e.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) [104c:8024]
04:00.0 SATA controller [0106]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 02)
04:00.1 IDE interface [0101]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 02)

Change History (9)

comment:1 by Jakub Jermář, 12 years ago

Guessing the problem may be related to the fact that the ISA bridge was actually properly discovered after mainline,1376.

comment:2 by Martin Decky, 12 years ago

Yes. Therefore I would not call it a regression. It is simply a bug in the ISA driver which did not manifest before switching to the class/subclass detection because the driver was not loaded at all for your hardware configuration.

comment:3 by Jakub Jermář, 12 years ago

Summary: Regression in mainline,1376 when booting on real hwThe presence of ISA bus driver hangs the system during boot

This indeed seems to be a problem of the ISA driver. Keeping the ISA bus driver and only excluding i8042 and ps2mouse from the image doesn't fix the hang while excluding also the ISA driver does. I am changing the summary to reflect this fact.

comment:4 by Jakub Jermář, 12 years ago

Summary: The presence of ISA bus driver hangs the system during bootThe presence of the ISA bus driver hangs the system during boot

comment:5 by Jakub Jermář, 12 years ago

Summary: The presence of the ISA bus driver hangs the system during bootThe presence of the ISA bus driver and the USB HC drivers hangs the system during boot

Interestingly enough, if I exclude the USB host controller drivers and keep the ISA bus driver, the system boots up normally.

comment:6 by Jakub Jermář, 12 years ago

It looks like the ISA and USB HC drivers merely create a suitable environment for some sort of a timing sensitive bug which manifests itself by sudden inability to spawn or complete spawning a new instance of loader.

comment:7 by Jakub Jermář, 12 years ago

Further investigation reveals that a new instance of loader hangs because the kernel stops ticking. The kernel console shows several 'PIC spurious interrupt' messages. I also noticed that on this system, IRQ 5 is shared by the ISA driver (ne2k slot) and the USB HC (ohci). There is no ne2k NIC on my system though. I suspect this is related and the kernel probably hangs as a result of handling the shared IRQ 5. Disabling the IRQ enabling code in the i8259 irc service allows the system to boot into bdsh.

comment:8 by Jakub Jermář, 12 years ago

Owner: set to Jakub Jermář
Status: newassigned

comment:9 by Jakub Jermář, 12 years ago

Resolution: worksforme
Status: assignedclosed

After mainline,1545, the issue is no longer reproducible. The role of the mis-detected ne2k in the hang remains unclear though.

Note: See TracTickets for help on using tickets.