Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9735b7ef authored by Ken Kawasaki's avatar Ken Kawasaki Committed by David S. Miller
Browse files

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: default avatarKen Kawasaki <ken_kawasaki@spring.nifty.jp>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9f888160
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -1505,12 +1505,20 @@ static irqreturn_t smc_interrupt(int irq, void *dev_id)
	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);
}