Ignore:
Timestamp:
Apr 21, 2008, 11:54:49 AM (17 years ago)
Author:
Paul Smedley
Message:

IRQ patch from Pavel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-2.0/lib32/irq.c

    r316 r352  
    6969                    unsigned long x0, const char *x1, void *x2)
    7070{
    71     IRQ_SLOT    *pSlot = FindSlot(irq);
     71    IRQ_SLOT    *pSlot = FindSlot(irq & 0xff);
    7272    unsigned    u, uSlotNo = (unsigned)-1;
    7373    if( !pSlot )
     
    8686    if( pSlot )
    8787    {
    88         if(RMRequestIRQ(/*hResMgr,*/ irq, (x0 & SA_SHIRQ) != 0) == FALSE) {
     88        if(RMRequestIRQ(/*hResMgr,*/ irq , (x0 & SA_SHIRQ) != 0) == FALSE) {
    8989            dprintf(("RMRequestIRQ failed for irq %d", irq));
    9090            //  return 0;
     
    9595            if( pSlot->irqHandlers[u].handler == NULL )
    9696            {
    97                 pSlot->irqNo = irq;
     97                pSlot->irqNo = irq & 0xff;
    9898                pSlot->irqHandlers[u].handler = handler;
    9999                pSlot->irqHandlers[u].x0 = x0;
     
    102102
    103103                if( pSlot->flHandlers != 0 ||
    104                    ALSA_SetIrq(irq, uSlotNo, (x0 & SA_SHIRQ) != 0) )
     104                   ALSA_SetIrq( irq & 0xff, uSlotNo, (x0 & SA_SHIRQ) != 0) )
    105105                {
    106106                    pSlot->flHandlers |= 1 << u;
     
    113113    }
    114114
    115     dprintf(("request_irq: Unable to register irq handler for irq %d\n", irq));
     115    dprintf(("request_irq: Unable to register irq handler for irq %d\n", irq & 0xff ));
    116116    return 1;
    117117}
     
    162162     if( pSlot )        pSlot->fEOI = 1;
    163163     */
    164     eoiIrq[irq]++;
     164    eoiIrq[irq & 0xff]++;
    165165}
    166166
Note: See TracChangeset for help on using the changeset viewer.