aboutsummaryrefslogtreecommitdiff
path: root/sound/usb/card.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2018-12-14 11:11:33 +0000
committerMark Brown <broonie@kernel.org>2018-12-14 11:11:33 +0000
commit5f783fd0a840588ca62b9f658d306277c7127229 (patch)
treeacc2d5d7d33801ce8478e308a08acef7353b4afe /sound/usb/card.c
parent684d5e05df8cdc18791e76b11f6bc85ecd4d9416 (diff)
parent640f85865ca658ae07d485693a3d452bdbbadaba (diff)
Merge tag 'v4.4.167' into linux-linaro-lsk-v4.4linux-linaro-lsk-v4.4
This is the 4.4.167 stable release
Diffstat (limited to 'sound/usb/card.c')
-rw-r--r--sound/usb/card.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/usb/card.c b/sound/usb/card.c
index 83336bb6333e..084d413d7a37 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -589,9 +589,12 @@ static int usb_audio_probe(struct usb_interface *intf,
__error:
if (chip) {
+ /* chip->active is inside the chip->card object,
+ * decrement before memory is possibly returned.
+ */
+ atomic_dec(&chip->active);
if (!chip->num_interfaces)
snd_card_free(chip->card);
- atomic_dec(&chip->active);
}
mutex_unlock(&register_mutex);
return err;