[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