Loading sound/core/control.c +1 −1 Original line number Diff line number Diff line Loading @@ -1128,7 +1128,7 @@ static int replace_user_tlv(struct snd_kcontrol *kctl, unsigned int __user *buf, change = ue->tlv_data_size != size; if (!change) change = memcmp(ue->tlv_data, container, size); change = memcmp(ue->tlv_data, container, size) != 0; if (!change) { kfree(container); return 0; Loading sound/core/seq/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -47,10 +47,10 @@ config SND_SEQ_HRTIMER_DEFAULT timer. config SND_SEQ_MIDI_EVENT def_tristate SND_RAWMIDI tristate config SND_SEQ_MIDI tristate def_tristate SND_RAWMIDI select SND_SEQ_MIDI_EVENT config SND_SEQ_MIDI_EMUL Loading sound/core/seq/seq_clientmgr.c +4 −9 Original line number Diff line number Diff line Loading @@ -1502,16 +1502,11 @@ static int snd_seq_ioctl_unsubscribe_port(struct snd_seq_client *client, static int snd_seq_ioctl_create_queue(struct snd_seq_client *client, void *arg) { struct snd_seq_queue_info *info = arg; int result; struct snd_seq_queue *q; result = snd_seq_queue_alloc(client->number, info->locked, info->flags); if (result < 0) return result; q = queueptr(result); if (q == NULL) return -EINVAL; q = snd_seq_queue_alloc(client->number, info->locked, info->flags); if (IS_ERR(q)) return PTR_ERR(q); info->queue = q->queue; info->locked = q->locked; Loading @@ -1521,7 +1516,7 @@ static int snd_seq_ioctl_create_queue(struct snd_seq_client *client, void *arg) if (!info->name[0]) snprintf(info->name, sizeof(info->name), "Queue-%d", q->queue); strlcpy(q->name, info->name, sizeof(q->name)); queuefree(q); snd_use_lock_free(&q->use_lock); return 0; } Loading sound/core/seq/seq_queue.c +9 −5 Original line number Diff line number Diff line Loading @@ -184,22 +184,26 @@ void __exit snd_seq_queues_delete(void) static void queue_use(struct snd_seq_queue *queue, int client, int use); /* allocate a new queue - * return queue index value or negative value for error * return pointer to new queue or ERR_PTR(-errno) for error * The new queue's use_lock is set to 1. It is the caller's responsibility to * call snd_use_lock_free(&q->use_lock). */ int snd_seq_queue_alloc(int client, int locked, unsigned int info_flags) struct snd_seq_queue *snd_seq_queue_alloc(int client, int locked, unsigned int info_flags) { struct snd_seq_queue *q; q = queue_new(client, locked); if (q == NULL) return -ENOMEM; return ERR_PTR(-ENOMEM); q->info_flags = info_flags; queue_use(q, client, 1); snd_use_lock_use(&q->use_lock); if (queue_list_add(q) < 0) { snd_use_lock_free(&q->use_lock); queue_delete(q); return -ENOMEM; return ERR_PTR(-ENOMEM); } return q->queue; return q; } /* delete a queue - queue must be owned by the client */ Loading sound/core/seq/seq_queue.h +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ void snd_seq_queues_delete(void); /* create new queue (constructor) */ int snd_seq_queue_alloc(int client, int locked, unsigned int flags); struct snd_seq_queue *snd_seq_queue_alloc(int client, int locked, unsigned int flags); /* delete queue (destructor) */ int snd_seq_queue_delete(int client, int queueid); Loading Loading
sound/core/control.c +1 −1 Original line number Diff line number Diff line Loading @@ -1128,7 +1128,7 @@ static int replace_user_tlv(struct snd_kcontrol *kctl, unsigned int __user *buf, change = ue->tlv_data_size != size; if (!change) change = memcmp(ue->tlv_data, container, size); change = memcmp(ue->tlv_data, container, size) != 0; if (!change) { kfree(container); return 0; Loading
sound/core/seq/Kconfig +2 −2 Original line number Diff line number Diff line Loading @@ -47,10 +47,10 @@ config SND_SEQ_HRTIMER_DEFAULT timer. config SND_SEQ_MIDI_EVENT def_tristate SND_RAWMIDI tristate config SND_SEQ_MIDI tristate def_tristate SND_RAWMIDI select SND_SEQ_MIDI_EVENT config SND_SEQ_MIDI_EMUL Loading
sound/core/seq/seq_clientmgr.c +4 −9 Original line number Diff line number Diff line Loading @@ -1502,16 +1502,11 @@ static int snd_seq_ioctl_unsubscribe_port(struct snd_seq_client *client, static int snd_seq_ioctl_create_queue(struct snd_seq_client *client, void *arg) { struct snd_seq_queue_info *info = arg; int result; struct snd_seq_queue *q; result = snd_seq_queue_alloc(client->number, info->locked, info->flags); if (result < 0) return result; q = queueptr(result); if (q == NULL) return -EINVAL; q = snd_seq_queue_alloc(client->number, info->locked, info->flags); if (IS_ERR(q)) return PTR_ERR(q); info->queue = q->queue; info->locked = q->locked; Loading @@ -1521,7 +1516,7 @@ static int snd_seq_ioctl_create_queue(struct snd_seq_client *client, void *arg) if (!info->name[0]) snprintf(info->name, sizeof(info->name), "Queue-%d", q->queue); strlcpy(q->name, info->name, sizeof(q->name)); queuefree(q); snd_use_lock_free(&q->use_lock); return 0; } Loading
sound/core/seq/seq_queue.c +9 −5 Original line number Diff line number Diff line Loading @@ -184,22 +184,26 @@ void __exit snd_seq_queues_delete(void) static void queue_use(struct snd_seq_queue *queue, int client, int use); /* allocate a new queue - * return queue index value or negative value for error * return pointer to new queue or ERR_PTR(-errno) for error * The new queue's use_lock is set to 1. It is the caller's responsibility to * call snd_use_lock_free(&q->use_lock). */ int snd_seq_queue_alloc(int client, int locked, unsigned int info_flags) struct snd_seq_queue *snd_seq_queue_alloc(int client, int locked, unsigned int info_flags) { struct snd_seq_queue *q; q = queue_new(client, locked); if (q == NULL) return -ENOMEM; return ERR_PTR(-ENOMEM); q->info_flags = info_flags; queue_use(q, client, 1); snd_use_lock_use(&q->use_lock); if (queue_list_add(q) < 0) { snd_use_lock_free(&q->use_lock); queue_delete(q); return -ENOMEM; return ERR_PTR(-ENOMEM); } return q->queue; return q; } /* delete a queue - queue must be owned by the client */ Loading
sound/core/seq/seq_queue.h +1 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ void snd_seq_queues_delete(void); /* create new queue (constructor) */ int snd_seq_queue_alloc(int client, int locked, unsigned int flags); struct snd_seq_queue *snd_seq_queue_alloc(int client, int locked, unsigned int flags); /* delete queue (destructor) */ int snd_seq_queue_delete(int client, int queueid); Loading