Workaround? for hard lock caused by O2 Micro OZ601/6912/711E0
saschasommer at freenet.de
Thu Apr 28 14:07:42 EDT 2005
after my laptops mainboard got replaced I was a bit shocked because all
linux kernels (also tested 2.4 with knoppix) that used to work before now
locked the machine hard.
The bios version is the same as before and these lockups only occured when
cold booting with inserted wlan card. Booting without card, rebooting with
card, booting windows, all worked fine. The card worked without problems when
it was inserted after a reboot, but almost always locked up the machine when
booting for the first time.
After a bit of debugging. I found out that in the cases where the system would
lock CB_SOCKET_STATE initially is always 0x30000b38 and CB_SOCKET_CONTROL
static int yenta_sock_init(struct pcmcia_socket *sock)
around line 491 in yenta_socket.c of 184.108.40.206 the following code can be found:
/* Redo card voltage interrogation */
state = cb_readl(socket, CB_SOCKET_STATE);
if (!(state & (CB_CDETECT1 | CB_CDETECT2 | CB_5VCARD |
CB_3VCARD | CB_XVCARD | CB_YVCARD)))
cb_writel(socket, CB_SOCKET_FORCE, CB_CVSTEST);
I applied the attached patch and the lock ups disappeared. I'm not sure
if this the correct fix, but maybe it is a start...
Here is the lspci output for the card bus controler.
0000:02:03.0 CardBus bridge: O2 Micro, Inc. OZ601/6912/711E0
Subsystem: Uniwill Computer Corp: Unknown device 3000
Flags: bus master, stepping, slow devsel, latency 168, IRQ 3
Memory at 20001000 (32-bit, non-prefetchable)
Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 20400000-207ff000 (prefetchable)
Memory window 1: 20800000-20bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
16-bit legacy interface ports at 0001
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 558 bytes
Desc: not available
Url : http://lists.infradead.org/pipermail/linux-pcmcia/attachments/20050428/0f06d7de/yenta_lock_up.bin
More information about the linux-pcmcia