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

Commit 0f6c10ea authored by Karsten Keil's avatar Karsten Keil Committed by Linus Torvalds
Browse files

[PATCH] i4l make PCMCIA for all cards working with shared IRQ



most current laptops do not work without allowing shared cardbus IRQs.
This patch enables IRQ sharing, so these cards work again.
This was tested with shared and none shared cardbus IRQs on different laptops
without problems.

Signed-off-by: default avatarKarsten Keil <kkeil@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 0950c358
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@ static int b1pcmcia_add_card(unsigned int port, unsigned irq,
	card->irq = irq;
	card->cardtype = cardtype;

	retval = request_irq(card->irq, b1_interrupt, 0, card->name, card);
	retval = request_irq(card->irq, b1_interrupt, SA_SHIRQ, card->name, card);
	if (retval) {
		printk(KERN_ERR "b1pcmcia: unable to get IRQ %d.\n",
		       card->irq);
+1 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ static int sedlbauer_probe(struct pcmcia_device *link)
    link->priv = local;

    /* Interrupt setup */
    link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
    link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED;
    link->irq.IRQInfo1 = IRQ_LEVEL_ID;
    link->irq.Handler = NULL;

+1 −0
Original line number Diff line number Diff line
@@ -369,6 +369,7 @@ setup_teles3(struct IsdnCard *card)
			       cs->hw.teles3.hscx[1] + 96);
			return (0);
		}
		cs->irq_flags |= SA_SHIRQ; /* cardbus can share */
	} else {
		if (cs->hw.teles3.cfg_reg) {
			if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) {