Re: hang with pcmcia wlan card

From: Wiktor Wodecki (wodecki@gmx.de)
Date: Sun Jul 13 2003 - 06:02:11 EST


On Sun, Jul 13, 2003 at 11:00:16AM +0100, Russell King wrote:
> On Sun, Jul 13, 2003 at 12:50:33PM +0300, Jaakko Niemi wrote:
> > Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
> > > On Sad, 2003-07-12 at 17:48, Wiktor Wodecki wrote:
> > >> > + * If ISA interrupts don't work, then fall back to routing card
> > >> > + * interrupts to the PCI interrupt of the socket.
> > >> > + */
> > >> > + if (!socket->socket.irq_mask) {
> > >> > + int irqmux, devctl;
> > >> > +
> > >
> > > See the fix posted to the list a while ago and apply that and all should
> > > be well. The change you refer to breaks for some setups
> >
> > Was the fix against drivers/pcmcia/ti113x.h ? (other than backing off
> > that patch..). If so, then I'm unable to locate it. Looks like I need
> > local lkml archive anyway :)
>
> The patch never went anywhere near lkml. It was sent to Pat Mochel
> primerily for testing (since Pat was able to produce the feedback
> last time around to solve the problem.) However, I haven't heard back
> from Pat.
>
> I won't even bother putting this into my bk tree and asking Linus to
> pull; I'm sure someone else will integrate this into the kernel tree
> for me. (as happened previously, and as a result I need to sort out
> my bk tree.)

oh, I'm sorry, I must have missed this patch. I just applied it on top
of 2.5.75-bk2 and it fixes the problem for me. Please apply it and tell
linus, thinks like that happen - don't be grumpy please :-)

>
> --- orig/drivers/pcmcia/ti113x.h Wed Jul 2 22:44:06 2003
> +++ linux/drivers/pcmcia/ti113x.h Sun Jul 6 22:52:41 2003
> @@ -179,21 +179,26 @@
> /*
> * If ISA interrupts don't work, then fall back to routing card
> * interrupts to the PCI interrupt of the socket.
> + *
> + * Tweaking this when we are using serial PCI IRQs causes hangs
> + * --rmk
> */
> if (!socket->socket.irq_mask) {
> - int irqmux, devctl;
> -
> - printk (KERN_INFO "ti113x: Routing card interrupts to PCI\n");
> + u8 irqmux, devctl;
>
> devctl = config_readb(socket, TI113X_DEVICE_CONTROL);
> - devctl &= ~TI113X_DCR_IMODE_MASK;
> + if (devctl & TI113X_DCR_IMODE_MASK != TI12XX_DCR_IMODE_ALL_SERIAL) {
> + printk (KERN_INFO "ti113x: Routing card interrupts to PCI\n");
> +
> + devctl &= ~TI113X_DCR_IMODE_MASK;
>
> - irqmux = config_readl(socket, TI122X_IRQMUX);
> - irqmux = (irqmux & ~0x0f) | 0x02; /* route INTA */
> - irqmux = (irqmux & ~0xf0) | 0x20; /* route INTB */
> + irqmux = config_readl(socket, TI122X_IRQMUX);
> + irqmux = (irqmux & ~0x0f) | 0x02; /* route INTA */
> + irqmux = (irqmux & ~0xf0) | 0x20; /* route INTB */
>
> - config_writel(socket, TI122X_IRQMUX, irqmux);
> - config_writeb(socket, TI113X_DEVICE_CONTROL, devctl);
> + config_writel(socket, TI122X_IRQMUX, irqmux);
> + config_writeb(socket, TI113X_DEVICE_CONTROL, devctl);
> + }
> }
>
> socket->socket.ss_entry->init = ti_init;
>
>
> --
> Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
> http://www.arm.linux.org.uk/personal/aboutme.html

-- 
Regards,

Wiktor Wodecki


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Jul 15 2003 - 22:00:47 EST