Message ID | 20100620102427.77d2c7d3.ken_kawasaki@spring.nifty.jp |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Date: Sun, 20 Jun 2010 10:24:27 +0900 > > smc91c92_cs: > Fix the problem that lan & modem does not work simultaneously > in the Megahertz multi-function card. > We need to write MEGAHERTZ_ISR to retrigger interrupt. > > Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- linux-2.6.35-rc3/drivers/net/pcmcia/smc91c92_cs.c.orig 2010-06-19 09:42:59.000000000 +0900 +++ linux-2.6.35-rc3/drivers/net/pcmcia/smc91c92_cs.c 2010-06-19 11:25:34.000000000 +0900 @@ -1505,12 +1505,20 @@ irq_done: writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_LAN + CISREG_COR); writeb(cor, smc->base + MOT_LAN + CISREG_COR); } -#ifdef DOES_NOT_WORK - if (smc->base != NULL) { /* Megahertz MFC's */ - readb(smc->base+MEGAHERTZ_ISR); - readb(smc->base+MEGAHERTZ_ISR); + + if ((smc->base != NULL) && /* Megahertz MFC's */ + (smc->manfid == MANFID_MEGAHERTZ) && + (smc->cardid == PRODID_MEGAHERTZ_EM3288)) { + + u_char tmp; + tmp = readb(smc->base+MEGAHERTZ_ISR); + tmp = readb(smc->base+MEGAHERTZ_ISR); + + /* Retrigger interrupt if needed */ + writeb(tmp, smc->base + MEGAHERTZ_ISR); + writeb(tmp, smc->base + MEGAHERTZ_ISR); } -#endif + spin_unlock(&smc->lock); return IRQ_RETVAL(handled); }
smc91c92_cs: Fix the problem that lan & modem does not work simultaneously in the Megahertz multi-function card. We need to write MEGAHERTZ_ISR to retrigger interrupt. Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp> -- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html