diff options
Diffstat (limited to 'sound/core')
-rw-r--r-- | sound/core/control.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/core/control.c b/sound/core/control.c index 3c5e746d619..6d71f9a7ccb 100644 --- a/sound/core/control.c +++ b/sound/core/control.c | |||
@@ -1438,12 +1438,12 @@ static int snd_ctl_dev_disconnect(struct snd_device *device) | |||
1438 | if (snd_BUG_ON(cardnum < 0 || cardnum >= SNDRV_CARDS)) | 1438 | if (snd_BUG_ON(cardnum < 0 || cardnum >= SNDRV_CARDS)) |
1439 | return -ENXIO; | 1439 | return -ENXIO; |
1440 | 1440 | ||
1441 | down_read(&card->controls_rwsem); | 1441 | read_lock(&card->ctl_files_rwlock); |
1442 | list_for_each_entry(ctl, &card->ctl_files, list) { | 1442 | list_for_each_entry(ctl, &card->ctl_files, list) { |
1443 | wake_up(&ctl->change_sleep); | 1443 | wake_up(&ctl->change_sleep); |
1444 | kill_fasync(&ctl->fasync, SIGIO, POLL_ERR); | 1444 | kill_fasync(&ctl->fasync, SIGIO, POLL_ERR); |
1445 | } | 1445 | } |
1446 | up_read(&card->controls_rwsem); | 1446 | read_unlock(&card->ctl_files_rwlock); |
1447 | 1447 | ||
1448 | if ((err = snd_unregister_device(SNDRV_DEVICE_TYPE_CONTROL, | 1448 | if ((err = snd_unregister_device(SNDRV_DEVICE_TYPE_CONTROL, |
1449 | card, -1)) < 0) | 1449 | card, -1)) < 0) |