diff --git a/sound/usb/card.c b/sound/usb/card.c
index 2f582ac7cf789157141e70e9df2abd54a9a5ec3c..827fb0bc8b56199125fc048f0510774d42a82ac6 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -602,7 +602,7 @@ static int usb_audio_probe(struct usb_interface *intf,
 	if (! chip) {
 		err = snd_usb_apply_boot_quirk_once(dev, intf, quirk, id);
 		if (err < 0)
-			return err;
+			goto __error;
 
 		/* it's a fresh one.
 		 * now look for an empty slot and create a new card instance