diff options
author | Ken Kawasaki <ken_kawasaki@spring.nifty.jp> | 2010-06-19 11:24:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-26 00:16:58 -0400 |
commit | 9735b7ef005aaef5e5905cddba893f8725cd8867 (patch) | |
tree | ab788df49e09c70466fcf69e60b9ee9c84033059 /drivers/net/pcmcia | |
parent | 9f888160bdcccf0565dd2774956b8d9456e610be (diff) |
smc91c92_cs: fix the problem that lan & modem does not work simultaneously
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/pcmcia')
-rw-r--r-- | drivers/net/pcmcia/smc91c92_cs.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c index 64e6a84bbbbe..307cd1721e91 100644 --- a/drivers/net/pcmcia/smc91c92_cs.c +++ b/drivers/net/pcmcia/smc91c92_cs.c | |||
@@ -1505,12 +1505,20 @@ irq_done: | |||
1505 | writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_LAN + CISREG_COR); | 1505 | writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_LAN + CISREG_COR); |
1506 | writeb(cor, smc->base + MOT_LAN + CISREG_COR); | 1506 | writeb(cor, smc->base + MOT_LAN + CISREG_COR); |
1507 | } | 1507 | } |
1508 | #ifdef DOES_NOT_WORK | 1508 | |
1509 | if (smc->base != NULL) { /* Megahertz MFC's */ | 1509 | if ((smc->base != NULL) && /* Megahertz MFC's */ |
1510 | readb(smc->base+MEGAHERTZ_ISR); | 1510 | (smc->manfid == MANFID_MEGAHERTZ) && |
1511 | readb(smc->base+MEGAHERTZ_ISR); | 1511 | (smc->cardid == PRODID_MEGAHERTZ_EM3288)) { |
1512 | |||
1513 | u_char tmp; | ||
1514 | tmp = readb(smc->base+MEGAHERTZ_ISR); | ||
1515 | tmp = readb(smc->base+MEGAHERTZ_ISR); | ||
1516 | |||
1517 | /* Retrigger interrupt if needed */ | ||
1518 | writeb(tmp, smc->base + MEGAHERTZ_ISR); | ||
1519 | writeb(tmp, smc->base + MEGAHERTZ_ISR); | ||
1512 | } | 1520 | } |
1513 | #endif | 1521 | |
1514 | spin_unlock(&smc->lock); | 1522 | spin_unlock(&smc->lock); |
1515 | return IRQ_RETVAL(handled); | 1523 | return IRQ_RETVAL(handled); |
1516 | } | 1524 | } |