From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Linux Kernel List <linux-kernel@vger.kernel.org>,
linux-pcmcia@lists.infradead.org
Subject: [PATCH] Fix PCMCIA card detection
Date: Tue, 28 Oct 2003 21:27:49 +0000 [thread overview]
Message-ID: <20031028212749.B31337@flint.arm.linux.org.uk> (raw)
I'm intending sending Linus the following patch to fix PCMCIA card
detection about 24 hours (on 21:26 GMT on Oct 29th.) A couple of
people have tested it and reported that it fixes their card detection
problems. I'd like people _without_ this problem to try the patch
and report if they see any breakages.
Idea from David Hinds.
Some PCMCIA/Cardbus controllers seem to get upset when we ask
them to re-do card interrogation - they miss the next insertion
event.
We therefore avoid forcing needless card interrogations if a
card has already been succesfully detected and interrogated.
diff -Nru a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
--- a/drivers/pcmcia/yenta_socket.c Mon Oct 27 23:27:19 2003
+++ b/drivers/pcmcia/yenta_socket.c Mon Oct 27 23:27:19 2003
@@ -461,6 +461,7 @@
static int yenta_sock_init(struct pcmcia_socket *sock)
{
struct yenta_socket *socket = container_of(sock, struct yenta_socket, socket);
+ u32 state;
u16 bridge;
bridge = config_readw(socket, CB_BRIDGE_CONTROL) & ~CB_BRIDGE_INTR;
@@ -472,7 +473,10 @@
exca_writeb(socket, I365_GENCTL, 0x00);
/* Redo card voltage interrogation */
- cb_writel(socket, CB_SOCKET_FORCE, CB_CVSTEST);
+ 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);
yenta_clear_maps(socket);
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core
next reply other threads:[~2003-10-28 21:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-28 21:27 Russell King [this message]
2003-10-29 10:10 ` [PATCH] Fix PCMCIA card detection Felipe Alfaro Solana
2003-10-30 22:18 ` Pavel Roskin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20031028212749.B31337@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pcmcia@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.