yenta_socket broken on Acer Travelmate 505 series
AndersB
anders.bogild at gmail.com
Mon Feb 19 18:50:44 EST 2007
Hi
I havnt been able to use my D-Link DUB-C2 usb 2.0 pcmcia card on my Acer
Travelmate 506t since kernel 2.6.12 and i have finally tracked down the
error to the message "Yenta O2: old bridge, disabling read
prefetch/write burst" apearing in dmesg.
I removed the case for the O2_6812 and everything works for me now.
Here is the patch:
*** drivers/pcmcia/o2micro.h Tue Feb 20 00:26:05 2007
--- ../linux-2.6.19-gentoo-r5-acer_tm505/drivers/pcmcia/o2micro.h
Tue Feb 20 00:26:30 2007
***************
*** 133,173 ****
* working. for some bridges it is at 0x94, for others at 0xD4. it's
* ok to write to both registers on all O2 bridges.
* from Eric Still, 02Micro.
*/
u8 a, b;
if (PCI_FUNC(socket->dev->devfn) == 0) {
a = config_readb(socket, O2_RESERVED1);
b = config_readb(socket, O2_RESERVED2);
printk(KERN_INFO "Yenta O2: res at 0x94/0xD4:
%02x/%02x\n", a, b);
switch (socket->dev->device) {
/*
* older bridges have problems with both read prefetch
and write
* bursting depending on the combination of the chipset,
bridge
* and the cardbus card. so disable them to be on the
safe side.
*/
case PCI_DEVICE_ID_O2_6729:
case PCI_DEVICE_ID_O2_6730:
- case PCI_DEVICE_ID_O2_6812:
case PCI_DEVICE_ID_O2_6832:
case PCI_DEVICE_ID_O2_6836:
printk(KERN_INFO "Yenta O2: old bridge,
disabling read prefetch/write burst\n");
config_writeb(socket, O2_RESERVED1,
a & ~(O2_RES_READ_PREFETCH |
O2_RES_WRITE_BURST));
config_writeb(socket, O2_RESERVED2,
b & ~(O2_RES_READ_PREFETCH |
O2_RES_WRITE_BURST));
break;
default:
printk(KERN_INFO "Yenta O2: enabling read
prefetch/write burst\n");
config_writeb(socket, O2_RESERVED1,
a | O2_RES_READ_PREFETCH |
O2_RES_WRITE_BURST);
config_writeb(socket, O2_RESERVED2,
b | O2_RES_READ_PREFETCH |
O2_RES_WRITE_BURST);
}
}
return 0;
}
--- 133,172 ----
Before the patch lspci gives
00:06.0 CardBus bridge: O2 Micro, Inc. OZ6812 CardBus Controller (rev 05)
Subsystem: Acer Incorporated [ALI] Unknown device 100b
Flags: bus master, stepping, slow devsel, latency 168, IRQ 11
Memory at 14000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
Memory window 0: 10000000-11fff000 (prefetchable)
Memory window 1: 12000000-13fff000
I/O window 0: 00001800-000018ff
I/O window 1: 00001c00-00001cff
16-bit legacy interface ports at 0001
01:00.0 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
Subsystem: D-Link System Inc Unknown device 0035
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at 12000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
01:00.1 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
Subsystem: D-Link System Inc Unknown device 0035
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at 12001000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
01:00.2 USB Controller: NEC Corporation USB 2.0 (rev 02) (prog-if 20 [EHCI])
Subsystem: D-Link System Inc Unknown device f100
Flags: bus master, medium devsel, latency 68, IRQ 11
Memory at 12002000 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
_after_ the patch things work, but there is some funky stuff happening
with info for the pcmcia card (the last lines):
00:06.0 CardBus bridge: O2 Micro, Inc. OZ6812 CardBus Controller (rev 05)
Subsystem: Acer Incorporated [ALI] Unknown device 100b
Flags: bus master, stepping, slow devsel, latency 168, IRQ 11
Memory at 14000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
Memory window 0: 10000000-11fff000 (prefetchable)
Memory window 1: 12000000-13fff000
I/O window 0: 00001800-000018ff
I/O window 1: 00001c00-00001cff
16-bit legacy interface ports at 0001
01:00.0 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
Subsystem: D-Link System Inc Unknown device 0035
Flags: bus master, VGA palette snoop, stepping, fast Back2Back,
66MHz, user-definable features, ?? devsel, latency 8, IRQ 11
Memory at 12000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
01:00.1 USB Controller: NEC Corporation USB (rev 41) (prog-if 10 [OHCI])
Subsystem: D-Link System Inc Unknown device 0035
Flags: medium devsel, IRQ 11
Memory at 12001000 (32-bit, non-prefetchable) [disabled] [size=4K]
Capabilities: [40] Power Management version 2
01:00.2 Class ffff: Illegal Vendor ID Unknown device ffff (rev ff)
(prog-if ff)
Subsystem: D-Link System Inc Unknown device f100
Flags: bus master, medium devsel, latency 68, IRQ 11
Memory at 12002000 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 2
Should i just ignore this ?
Cheers!
Anders B
More information about the linux-pcmcia
mailing list