!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/drivers/sound/emu10k1/   drwxr-xr-x
Free 318.37 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     irqmgr.c (3.38 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 **********************************************************************
 *     irqmgr.c - IRQ manager for emu10k1 driver
 *     Copyright 1999, 2000 Creative Labs, Inc.
 *
 **********************************************************************
 *
 *     Date                 Author          Summary of changes
 *     ----                 ------          ------------------
 *     October 20, 1999     Bertrand Lee    base code release
 *
 **********************************************************************
 *
 *     This program is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of
 *     the License, or (at your option) any later version.
 *
 *     This program is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 *     You should have received a copy of the GNU General Public
 *     License along with this program; if not, write to the Free
 *     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
 *     USA.
 *
 **********************************************************************
 */

#include "hwaccess.h"
#include "8010.h"
#include "cardmi.h"
#include "cardmo.h"
#include "irqmgr.h"

/* Interrupt handler */

void emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
    struct emu10k1_card *card = (struct emu10k1_card *) dev_id;
    u32 irqstatus, irqstatus_tmp;

    DPD(4, "emu10k1_interrupt called, irq =  %u\n", irq);

    /*
     ** NOTE :
     ** We do a 'while loop' here cos on certain machines, with both
     ** playback and recording going on at the same time, IRQs will
     ** stop coming in after a while. Checking IPND indeed shows that
     ** there are interrupts pending but the PIC says no IRQs pending.
     ** I suspect that some boards need edge-triggered IRQs but are not
     ** getting that condition if we don't completely clear the IPND
     ** (make sure no more interrupts are pending).
     ** - Eric
     */

    while ((irqstatus = inl(card->iobase + IPR))) {
        DPD(4, "irq status %#x\n", irqstatus);

        irqstatus_tmp = irqstatus;

        if (irqstatus & IRQTYPE_TIMER) {
            emu10k1_timer_irqhandler(card);
            irqstatus &= ~IRQTYPE_TIMER;
        }

        if (irqstatus & IRQTYPE_DSP) {
            emu10k1_dsp_irqhandler(card);
            irqstatus &= ~IRQTYPE_DSP;
        }

        if (irqstatus & IRQTYPE_MPUIN) {
            emu10k1_mpuin_irqhandler(card);
            irqstatus &= ~IRQTYPE_MPUIN;
        }

        if (irqstatus & IRQTYPE_MPUOUT) {
            emu10k1_mpuout_irqhandler(card);
            irqstatus &= ~IRQTYPE_MPUOUT;
        }

        if (irqstatus & IPR_MUTE) {
            emu10k1_mute_irqhandler(card);
            irqstatus &=~IPR_MUTE;
        }

        if (irqstatus & IPR_VOLINCR) {
            emu10k1_volincr_irqhandler(card);
            irqstatus &=~IPR_VOLINCR;
        }

        if (irqstatus & IPR_VOLDECR) {
            emu10k1_voldecr_irqhandler(card);
            irqstatus &=~IPR_VOLDECR;
        }

        if (irqstatus){
            printk(KERN_ERR "emu10k1: Warning, unhandled interrupt: %#08x\n", irqstatus);
            //make sure any interrupts we don't handle are disabled:
            emu10k1_irq_disable(card, ~(INTE_MIDIRXENABLE | INTE_MIDITXENABLE | INTE_INTERVALTIMERENB |
                        INTE_VOLDECRENABLE | INTE_VOLINCRENABLE | INTE_MUTEENABLE |
                        INTE_FXDSPENABLE));
        }

        /* acknowledge interrupt */
                outl(irqstatus_tmp, card->iobase + IPR);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0048 ]--