Bug 51706 - kernel locks up toshiba notebook
Summary: kernel locks up toshiba notebook
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
(Show other bugs)
Version: 7.3
Hardware: i386 Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brock Organ
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: 53209
TreeView+ depends on / blocked
 
Reported: 2001-08-14 04:45 UTC by hjl
Modified: 2007-04-18 16:35 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-08-15 14:57:34 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
A patch (849 bytes, patch)
2001-08-15 02:09 UTC, hjl
no flags Details | Diff
slightly modified patch (833 bytes, patch)
2001-08-15 09:17 UTC, Arjan van de Ven
no flags Details | Diff
An updated patch (638 bytes, patch)
2001-08-15 14:45 UTC, hjl
no flags Details | Diff

Description hjl 2001-08-14 04:45:23 UTC
kernel 2.4.6-3.1 locks up toshiba notebook portege 3480ct
when the multi media port replicator model pa3042u-1dst
is connected to my notebook. It happens when I do

# modprobe yenta_socket

With the port replicator,

# lspci -v
00:00.0 Host bridge: Intel Corporation 82440MX I/O Controller (rev 01)
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, medium devsel, latency 64

00:00.1 Multimedia audio controller: Intel Corporation 82440MX AC'97 Audio
Controller
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, fast devsel, latency 0, IRQ 11
        I/O ports at fd00 [size=256]
        I/O ports at fcc0 [size=64]

00:02.0 Communication controller: Lucent Microelectronics 56k WinModem (rev
01)
        Subsystem: Toshiba America Info Systems: Unknown device 0002
        Flags: bus master, medium devsel, latency 0, IRQ 11
        Memory at ffefff00 (32-bit, non-prefetchable) [size=256]
        I/O ports at 02f8 [size=8]
        I/O ports at 1c00 [size=256]
        Capabilities: [f8] Power Management version 2

00:04.0 VGA compatible controller: S3 Inc. 86C270-294 Savage/MX-/IX (rev
11) (prog-if 00 [VGA])
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, medium devsel, latency 248, IRQ 11
        Memory at f0000000 (32-bit, non-prefetchable) [size=128M]
        Expansion ROM at 000c0000 [disabled] [size=64K]
        Capabilities: [dc] Power Management version 1

00:06.0 PCI bridge: Toshiba America Info Systems: Unknown device 061b (rev
03) (prog-if 01 [Subtractive decode])
        Flags: bus master, user-definable features, medium devsel, latency
64
        Bus: primary=00, secondary=01, subordinate=13, sec-latency=64
        I/O behind bridge: 0000c000-0000cfff
        Memory behind bridge: efd00000-efefffff
        Capabilities: [c0] Power Management version 2
        Capabilities: [c8] Slot ID: 0 slots, First-, chassis 00

00:07.0 Bridge: Intel Corporation 82440MX PCI to ISA Bridge (rev 01)
        Flags: bus master, medium devsel, latency 0

00:07.1 IDE interface: Intel Corporation 82440MX EIDE Controller (prog-if
80 [Master])
        Flags: bus master, medium devsel, latency 64
        I/O ports at bff0 [size=16]

00:07.2 USB Controller: Intel Corporation 82440MX USB Universal Host
Controller (prog-if 00 [UHCI])
        Flags: bus master, medium devsel, latency 64, IRQ 11
        I/O ports at bf80 [size=32]

00:07.3 Bridge: Intel Corporation 82440MX Power Management Controller
        Flags: medium devsel

00:09.0 IRDA controller: Toshiba America Info Systems FIR Port Type-DO
        Subsystem: Toshiba America Info Systems FIR Port Type-DO
        Flags: bus master, slow devsel, latency 64, IRQ 11
        I/O ports at bf60 [size=32]
        Capabilities: [80] Power Management version 2

00:0b.0 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus
Bridge with ZV Support (rev 20)
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, slow devsel, latency 64, IRQ 11
        Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=14, subordinate=14, sec-latency=0
        I/O window 0: 00000000-00000003
        I/O window 1: 00000000-00000003
        16-bit legacy interface ports at 0001

00:0b.1 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus
Bridge with ZV Support (rev 20)
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, slow devsel, latency 64, IRQ 11
        Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=15, subordinate=15, sec-latency=0
        I/O window 0: 00000000-00000003
        I/O window 1: 00000000-00000003
        16-bit legacy interface ports at 0001

01:03.0 IDE interface: Toshiba America Info Systems: Unknown device 0105
(rev 01) (prog-if d5)
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, slow devsel, latency 64, IRQ 11
        I/O ports at cff8 [size=8]
        I/O ports at cff4 [size=4]
        I/O ports at cfe8 [size=8]
        I/O ports at cfe4 [size=4]
        I/O ports at cfa0 [size=16]
        Capabilities: [80] Power Management version 2

01:04.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100]
(rev 08)
        Subsystem: Toshiba America Info Systems: Unknown device 0003
        Flags: bus master, medium devsel, latency 64, IRQ 11
        Memory at efeff000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at cf40 [size=64]
        Memory at efd00000 (32-bit, non-prefetchable) [size=1M]
        Capabilities: [dc] Power Management version 2

01:05.0 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus
Bridge with ZV Support (rev 40)
        Subsystem: Toshiba America Info Systems: Unknown device 0001
        Flags: bus master, slow devsel, latency 64
        Memory at efe00000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=01, secondary=12, subordinate=12, sec-latency=0
        I/O window 0: 00000000-00000003
        I/O window 1: 00000000-00000003
        16-bit legacy interface ports at 0001


kernel 2.2.18 worked fine. kernel 2.4.7-0.13.1 has the same problem. It
looks
like 2.4.x doesn't know how to deal with cardbus and pci bridge in port
replicator.

Comment 1 hjl 2001-08-14 16:30:19 UTC
Please note that there is another cardbus bridge on the
port replicator.  That may confuse yenta_socket.

Comment 2 Arjan van de Ven 2001-08-14 16:32:35 UTC
Strange question: could you try the enterprise kernel on this ?

Comment 3 Glen Foster 2001-08-14 19:08:04 UTC
This defect is considered SHOULD-FIX for Fairfax.

Comment 4 hjl 2001-08-14 21:00:23 UTC
The enterprise kernel also locks up the machine.

Comment 5 hjl 2001-08-14 22:18:52 UTC
One more thing. There is no IRQ assigned for the
CardBus bridge on  the port replicator. It may
confuse the kernel.

Comment 6 hjl 2001-08-14 23:59:29 UTC
I think one fix may be to ignore the socket without an IRQ
during init.

Comment 7 hjl 2001-08-15 02:08:28 UTC
Here is a patch. With it applied, I got

Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
PCI: Found IRQ 11 for device 00:0b.0
PCI: Found IRQ 11 for device 00:0b.1
PCI: Sharing IRQ 11 with 00:00.1
CardBus bridge (1179:0617, 1179:0001) without PCI interrupt is ignored!
Yenta IRQ list 0000, PCI irq11
Socket status: 30000007
Yenta IRQ list 0000, PCI irq11
Socket status: 30000020

Does kernel  know how to assign an IRQ to a pci device?

Comment 8 hjl 2001-08-15 02:09:06 UTC
Created attachment 27855 [details]
A patch

Comment 9 Arjan van de Ven 2001-08-15 09:17:33 UTC
Created attachment 27877 [details]
slightly modified patch

Comment 10 Arjan van de Ven 2001-08-15 09:18:24 UTC
The kernel should be able to assign irq's. If it doesn't, that's a bug, but the
check should only be done after enabling the device, attached patch does that
first.

Comment 11 hjl 2001-08-15 14:45:41 UTC
Created attachment 27973 [details]
An updated patch

Comment 12 hjl 2001-08-15 14:51:27 UTC
Here is the new kernel message. I don't think Linux knows how
to assign an IRQ to a PCI device, at least on x86. It has to be
assigned by BIOS.

Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
PCI: Found IRQ 11 for device 00:0b.0
PCI: Found IRQ 11 for device 00:0b.0
PCI: Found IRQ 11 for device 00:0b.1
PCI: Sharing IRQ 11 with 00:00.1
PCI: Found IRQ 11 for device 00:0b.1
PCI: Sharing IRQ 11 with 00:00.1
PCI: No IRQ known for interrupt pin A of device 01:05.0. Please try using
pci=biosirq.
PCI CardBus bridge (1179:0617, 1179:0001) without IRQ is ignored!

Passing pci=biosirq to kernel, I got

Linux Kernel Card Services 3.1.22
  options:  [pci] [cardbus] [pm]
PCI: Found IRQ 11 for device 00:0b.0
PCI: Found IRQ 11 for device 00:0b.0
PCI: Found IRQ 11 for device 00:0b.1
PCI: Sharing IRQ 11 with 00:00.1
PCI: Found IRQ 11 for device 00:0b.1
PCI: Sharing IRQ 11 with 00:00.1
PCI: No IRQ known for interrupt pin A of device 01:05.0.
PCI CardBus bridge (1179:0617, 1179:0001) without IRQ is ignored!


Comment 13 hjl 2001-08-15 14:57:29 UTC
FYI,  I updated my patch to print out

PCI: CardBus bridge (1179:0617, 1179:0001) without IRQ is ignored!

to be consistent with other PCI messages.

Comment 14 Arjan van de Ven 2001-08-15 15:45:54 UTC
patch added to the kernel; thanks!


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