[ALSA] Dereference after free in snd_hwdep_release()
[powerpc.git] / sound / pci / bt87x.c
index 497ed6b..d33a370 100644 (file)
@@ -269,7 +269,7 @@ static void snd_bt87x_pci_error(struct snd_bt87x *chip, unsigned int status)
        }
 }
 
-static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id)
 {
        struct snd_bt87x *chip = dev_id;
        unsigned int status, irq_status;
@@ -747,7 +747,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card,
        snd_bt87x_writel(chip, REG_INT_MASK, 0);
        snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS);
 
-       if (request_irq(pci->irq, snd_bt87x_interrupt, SA_INTERRUPT | SA_SHIRQ,
+       if (request_irq(pci->irq, snd_bt87x_interrupt, IRQF_DISABLED | IRQF_SHARED,
                        "Bt87x audio", chip)) {
                snd_bt87x_free(chip);
                snd_printk(KERN_ERR "cannot grab irq\n");
@@ -774,7 +774,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card,
          .driver_data = rate }
 
 /* driver_data is the default digital_rate value for that device */
-static struct pci_device_id snd_bt87x_ids[] __devinitdata = {
+static struct pci_device_id snd_bt87x_ids[] = {
        /* Hauppauge WinTV series */
        BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, 0x0070, 0x13eb, 32000),
        /* Hauppauge WinTV series */