Bug 51706 - kernel locks up toshiba notebook
kernel locks up toshiba notebook
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.3
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brock Organ
:
Depends On:
Blocks: 53209
  Show dependency treegraph
 
Reported: 2001-08-14 00:45 EDT by hjl
Modified: 2007-04-18 12:35 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-08-15 10:57:34 EDT
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-14 22:09 EDT, hjl
no flags Details | Diff
slightly modified patch (833 bytes, patch)
2001-08-15 05:17 EDT, Arjan van de Ven
no flags Details | Diff
An updated patch (638 bytes, patch)
2001-08-15 10:45 EDT, hjl
no flags Details | Diff

  None (edit)
Description hjl 2001-08-14 00:45:23 EDT
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 12:30:19 EDT
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 12:32:35 EDT
Strange question: could you try the enterprise kernel on this ?
Comment 3 Glen Foster 2001-08-14 15:08:04 EDT
This defect is considered SHOULD-FIX for Fairfax.
Comment 4 hjl 2001-08-14 17:00:23 EDT
The enterprise kernel also locks up the machine.
Comment 5 hjl 2001-08-14 18:18:52 EDT
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 19:59:29 EDT
I think one fix may be to ignore the socket without an IRQ
during init.
Comment 7 hjl 2001-08-14 22:08:28 EDT
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-14 22:09:06 EDT
Created attachment 27855 [details]
A patch
Comment 9 Arjan van de Ven 2001-08-15 05:17:33 EDT
Created attachment 27877 [details]
slightly modified patch
Comment 10 Arjan van de Ven 2001-08-15 05:18:24 EDT
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 10:45:41 EDT
Created attachment 27973 [details]
An updated patch
Comment 12 hjl 2001-08-15 10:51:27 EDT
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 10:57:29 EDT
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 11:45:54 EDT
patch added to the kernel; thanks!

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