[ALSA] Fix possible races in PCI driver removal

Call free_irq() before releasing others to avoid races when
shared irq is issued.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index c27cd49..5618ec9 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -1836,11 +1836,11 @@
 		UNSET_GRESET(cif->hwport);
 		kfree(chip->cif);
 	}
+	if (chip->irq >= 0)
+		free_irq(chip->irq, chip);
 	if (chip->fw_entry)
 		release_firmware(chip->fw_entry);
 	release_and_free_resource(chip->res_port);
-	if (chip->irq >= 0)
-		free_irq(chip->irq, chip);
 	kfree(chip);
 	return 0;
 }