ALSA: seq: Remove superfluous snd_seq_queue_client_leave_cells() call
authorTakashi Iwai <tiwai@suse.de>
Thu, 8 Mar 2018 11:01:25 +0000 (12:01 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 8 Mar 2018 11:06:07 +0000 (12:06 +0100)
With the previous two fixes for the write / ioctl races:
  ALSA: seq: Don't allow resizing pool in use
  ALSA: seq: More protection for concurrent write and ioctl races
the cells aren't any longer in queues at the point calling
snd_seq_pool_done() in snd_seq_ioctl_set_client_pool().  Hence the
function call snd_seq_queue_client_leave_cells() can be dropped safely
from there.

Suggested-by: Nicolai Stange <nstange@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/seq/seq_clientmgr.c

index 1b62421dadd1e20459a35adb9fff40952c5d4edc..918338dea5b90e67acfc2c37ad954d1828e3238f 100644 (file)
@@ -1846,7 +1846,6 @@ static int snd_seq_ioctl_set_client_pool(struct snd_seq_client *client,
                                return -EBUSY;
                        /* remove all existing cells */
                        snd_seq_pool_mark_closing(client->pool);
-                       snd_seq_queue_client_leave_cells(client->number);
                        snd_seq_pool_done(client->pool);
                }
                client->pool->size = info->output_pool;