|Summary:||yenta_socket.c broken wireless cards.|
|Product:||Drivers||Reporter:||Justin P. Mattock (justinmattock)|
|Bug Depends on:|
|Attachments:||pcmcia: only keep saved I365_CSCING flag if there is no PCI irq|
Description Justin P. Mattock 2010-05-20 13:26:28 UTC
I've sent this out to the appropriate lists, but received no response (I don't have the time to sit and wait around for people who can figure out how todo their jobs) Anyways here is the patch/bisection: 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 connection. 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: commit 28ca8dd71fc170090edca62cb8129625d01b7760 Author: Jens K<C3><BC>nzer <Jens.Kuenzer@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. [email@example.com: split up the original patch, commit message] Signed-off-by: Jens Kuenzer <Jens.Kuenzer@fpga.homeip.net> Signed-off-by: Dominik Brodowski <firstname.lastname@example.org> 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 <email@example.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 --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c @@ -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); -- 18.104.22.168.180.gc5b3e
Comment 1 Justin P. Mattock 2010-05-21 21:31:09 UTC
Thanks for adding this to the list of regressions. (apologize for being impatient).
Comment 2 Dominik Brodowski 2010-05-25 07:26:43 UTC
Created attachment 26536 [details] pcmcia: only keep saved I365_CSCING flag if there is no PCI irq Could you test this (updated) patch, please? Thanks!
Comment 3 Justin P. Mattock 2010-05-25 13:45:52 UTC
come on!! don't people fucking work around here!!(just messing) :-] Anyways I tried your patch out, and it works.. wireless card lights up, leds blink etc.. cheers.
Comment 4 Rafael J. Wysocki 2010-06-13 11:51:19 UTC
Fixed by commit 02caa56e4b789b80ae7e0f0f0789f94b44ad32ef .
Comment 5 Justin P. Mattock 2010-06-13 13:25:41 UTC
alright.. then once that hits the main tree then this can be closed.. Thanks!