mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
[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: Karsten Keil <kkeil@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
0950c358ee
commit
0f6c10ead8
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user