2.4.25 yenta problem and small fix/workaround

From: Silla Rizzoli
Date: Thu Feb 19 2004 - 06:23:54 EST


Hello!
Inserting a PC Card in my laptop (IMB R40 2681) with kernel 2.4.25 results in
the following message:

Feb 19 11:10:16 [kernel] cs: socket d603e000 voltage interrogation timed out

This sometimes happens with 2.6.x too, but issuing cardctl insert 0 usually
solves the problem, however in this case it didn't. I tried to modify all the
pcmcia_core module parameters but to no avail, the socket remained dead.

Examining the sources I noticed that 2.4.25 introduced this three line check;
I suppose that the socket state read returns a valid state and
cb_writel(socket, CB_SOCKET_FORCE, CB_CVSTEST) is not executed.
Removing the check and executing the last line regardless fixes the problem.
I am probably experiencing a hardware bug limited to my laptop, but I'm
posting this small patch here just in case someone has the same problem.

Regards,
Silla Rizzoli



--- ./drivers/pcmcia/yenta.c.orig 2004-02-19 11:44:29.000000000 +0100
+++ ./drivers/pcmcia/yenta.c 2004-02-19 11:43:45.000000000 +0100
@@ -676,9 +676,6 @@
exca_writeb(socket, I365_GENCTL, 0x00);

/* 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);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/