Merge master.kernel.org:/home/rmk/linux-2.6-mmc
[powerpc.git] / sound / isa / opl3sa2.c
index e2d2bab..47cabda 100644 (file)
@@ -656,10 +656,7 @@ static int snd_opl3sa2_free(opl3sa2_t *chip)
 {
        if (chip->irq >= 0)
                free_irq(chip->irq, (void *)chip);
-       if (chip->res_port) {
-               release_resource(chip->res_port);
-               kfree_nocheck(chip->res_port);
-       }
+       release_and_free_resource(chip->res_port);
        kfree(chip);
        return 0;
 }
@@ -914,6 +911,7 @@ static int __init alsa_card_opl3sa2_init(void)
 #endif
 #ifdef CONFIG_PNP
                pnp_unregister_card_driver(&opl3sa2_pnpc_driver);
+               pnp_unregister_driver(&opl3sa2_pnp_driver);
 #endif
                return -ENODEV;
        }
@@ -927,6 +925,7 @@ static void __exit alsa_card_opl3sa2_exit(void)
 #ifdef CONFIG_PNP
        /* PnP cards first */
        pnp_unregister_card_driver(&opl3sa2_pnpc_driver);
+       pnp_unregister_driver(&opl3sa2_pnp_driver);
 #endif
        for (idx = 0; idx < SNDRV_CARDS; idx++)
                snd_card_free(snd_opl3sa2_legacy[idx]);