diff options
author | Thomas Pfaff <tpfaff@gmx.net> | 2011-09-26 09:43:59 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-09-26 09:48:47 -0400 |
commit | 61a6a108d15213f5ee06332e1e7766d3860e4453 (patch) | |
tree | 6ffc2d8dbe6d7c80109f3e316e7a11da0e4c926b /sound/usb/card.c | |
parent | e0d32e335fc0e354db93a807736243f5035fbc67 (diff) |
ALSA: usb-audio: Check for possible chip NULL pointer before clearing probing flag
Before clearing the probing flag in the error exit path, check that the
chip pointer is not NULL.
Signed-off-by: Thomas Pfaff <tpfaff@gmx.net>
Cc: <stable@kernel.org> [2.6.39+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/card.c')
-rw-r--r-- | sound/usb/card.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/usb/card.c b/sound/usb/card.c index ed120ca2353d..d8f2bf401458 100644 --- a/sound/usb/card.c +++ b/sound/usb/card.c | |||
@@ -530,9 +530,11 @@ snd_usb_audio_probe(struct usb_device *dev, | |||
530 | return chip; | 530 | return chip; |
531 | 531 | ||
532 | __error: | 532 | __error: |
533 | if (chip && !chip->num_interfaces) | 533 | if (chip) { |
534 | snd_card_free(chip->card); | 534 | if (!chip->num_interfaces) |
535 | chip->probing = 0; | 535 | snd_card_free(chip->card); |
536 | chip->probing = 0; | ||
537 | } | ||
536 | mutex_unlock(®ister_mutex); | 538 | mutex_unlock(®ister_mutex); |
537 | __err_val: | 539 | __err_val: |
538 | return NULL; | 540 | return NULL; |