[PATCH][bisected]pcmcia:yenta_socket.c fix broken wireless cards.
Justin P. Mattock
justinmattock at gmail.com
Wed May 19 17:08:04 EDT 2010
I've an old dell inspiron 1200(amazingly still works), that use's
a D-Link DWL-G650, and/or a Dell Wireless 1350 for it's wireless
With using opensuse11.2(kernel:2.6.32*), the card(s) work fine, but as soon
as I pulled the latest HEAD, all hell broke loose. So after doing a
days worth of bisecting with this machine(painfully slow), it finally
came down to this commit:
Author: Jens K<C3><BC>nzer <Jens.Kuenzer at fpga.homeip.net>
Date: Sat Mar 6 07:46:16 2010 +0100
pcmcia: honor saved flags in yenta_socket's I365_CSCINT register
Instead of overwriting the I365_CSCINT register, save the old value and
merely change the bits we care about.
Part 1 of a series to allow the ISA irq to be used for Cardbus devices
if the socket's PCI irq is unusable.
[linux at dominikbrodowski.net: split up the original patch, commit message]
Signed-off-by: Jens Kuenzer <Jens.Kuenzer at fpga.homeip.net>
Signed-off-by: Dominik Brodowski <linux at dominikbrodowski.net>
so after fussing around with this commit, and yenta_socket.c
I come up with something, that does get my cards
powered up, and all good(hopefully).
Anyways please have a look, if you need me to test something
different let me know.
Signed-off-by: Justin P. Mattock <justinmattock at gmail.com>
drivers/pcmcia/yenta_socket.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 83ace27..7d6f43b 100644
@@ -989,7 +989,7 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
/* generate interrupt, wait */
- reg = exca_readb(socket, I365_CSCINT);
+ reg = exca_readb(socket, I365_CSCINT | I365_CSC_ANY);
exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG);
cb_writel(socket, CB_SOCKET_EVENT, -1);
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
More information about the linux-pcmcia