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

Commit e4115805 authored by Daniel Ritz's avatar Daniel Ritz Committed by Dominik Brodowski
Browse files

[PATCH] yenta: optimize interrupt handler



Don't waste cpu time in yenta interrupt handler when the interrupt was for
another device.

Signed-off-by: default avatarDaniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent 37f77955
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -531,6 +531,9 @@ static irqreturn_t yenta_interrupt(int irq, void *dev_id, struct pt_regs *regs)

	csc = exca_readb(socket, I365_CSC);

	if (!(cb_event || csc))
		return IRQ_NONE;

	events = (cb_event & (CB_CD1EVENT | CB_CD2EVENT)) ? SS_DETECT : 0 ;
	events |= (csc & I365_CSC_DETECT) ? SS_DETECT : 0;
	if (exca_readb(socket, I365_INTCTL) & I365_PC_IOCARD) {
@@ -544,10 +547,7 @@ static irqreturn_t yenta_interrupt(int irq, void *dev_id, struct pt_regs *regs)
	if (events)
		pcmcia_parse_events(&socket->socket, events);

	if (cb_event || csc)
	return IRQ_HANDLED;

	return IRQ_NONE;
}

static void yenta_interrupt_wrapper(unsigned long data)