Loading sound/core/control.c +5 −4 Original line number Diff line number Diff line Loading @@ -433,15 +433,16 @@ static int snd_ctl_remove_unlocked_id(struct snd_ctl_file * file, down_write(&card->controls_rwsem); kctl = snd_ctl_find_id(card, id); if (kctl == NULL) { up_write(&card->controls_rwsem); return -ENOENT; ret = -ENOENT; goto error; } for (idx = 0; idx < kctl->count; idx++) if (kctl->vd[idx].owner != NULL && kctl->vd[idx].owner != file) { up_write(&card->controls_rwsem); return -EBUSY; ret = -EBUSY; goto error; } ret = snd_ctl_remove(card, kctl); error: up_write(&card->controls_rwsem); return ret; } Loading Loading
sound/core/control.c +5 −4 Original line number Diff line number Diff line Loading @@ -433,15 +433,16 @@ static int snd_ctl_remove_unlocked_id(struct snd_ctl_file * file, down_write(&card->controls_rwsem); kctl = snd_ctl_find_id(card, id); if (kctl == NULL) { up_write(&card->controls_rwsem); return -ENOENT; ret = -ENOENT; goto error; } for (idx = 0; idx < kctl->count; idx++) if (kctl->vd[idx].owner != NULL && kctl->vd[idx].owner != file) { up_write(&card->controls_rwsem); return -EBUSY; ret = -EBUSY; goto error; } ret = snd_ctl_remove(card, kctl); error: up_write(&card->controls_rwsem); return ret; } Loading