[PATCH][bisected]pcmcia:yenta_socket.c fix broken wireless cards.
Justin P. Mattock
justinmattock at gmail.com
Thu May 20 16:10:50 EDT 2010
On 05/20/2010 09:34 AM, Dominik Brodowski wrote:
> Jens, Justin,
>
> could both of you test this patch on top of 2.6.34, please?
>
> pcmcia: only keep saved I365_CSCING flag if there is no PCI irq
>
> Signed-off-by: Dominik Brodowski<linux at dominikbrodowski.net>
>
> diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
> index 424e576..151ca43 100644
> --- a/drivers/pcmcia/yenta_socket.c
> +++ b/drivers/pcmcia/yenta_socket.c
> @@ -371,8 +371,11 @@ static int yenta_set_socket(struct pcmcia_socket *sock, socket_state_t *state)
> exca_writeb(socket, I365_POWER, reg);
>
> /* CSC interrupt: no ISA irq for CSC */
> - reg = exca_readb(socket, I365_CSCINT);
> - reg&= I365_CSC_IRQ_MASK;
> + reg = 0;
> + if (!socket->dev->irq) {
> + reg = exca_readb(socket, I365_CSCINT);
> + reg&= I365_CSC_IRQ_MASK;
> + }
> reg |= I365_CSC_DETECT;
> if (state->flags& SS_IOCARD) {
> if (state->csc_mask& SS_STSCHG)
>
hmm.. not sure if this is even being read or not
as a simple test:
/* CSC interrupt: no ISA irq for CSC */
- reg = exca_readb(socket, I365_CSCINT);
- reg&= I365_CSC_IRQ_MASK;
+ reg = 0;
+ if (!socket->dev->irq) {
+ reg = exca_readb(socket, I365_STATUS);
+ /*reg&= I365_CSC_IRQ_MASK;*/
+ }
just a simple STATUS on this still errors out with the
unsupported card thing..
Justin P. Mattock
More information about the linux-pcmcia
mailing list