diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 5b3e49900498ce3a03934c1da6c65042ba271bee..f148ee434a6bfa83ce0e64621ac6c5cc5ea2cc30 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -1838,10 +1838,7 @@ static int snd_riptide_free(struct snd_riptide *chip)
 	}
 	if (chip->fw_entry)
 		release_firmware(chip->fw_entry);
-	if (chip->res_port) {
-		release_resource(chip->res_port);
-		kfree_nocheck(chip->res_port);
-	}
+	release_and_free_resource(chip->res_port);
 	if (chip->irq >= 0)
 		free_irq(chip->irq, chip);
 	kfree(chip);