Commit b0b42b16 authored by Dan Williams's avatar Dan Williams

dmaengine: protect 'id' from concurrent registrations

There is a possibility to have two devices registered with the same id.

Cc: <stable@kernel.org>
Acked-by: default avatarMaciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 532d3b1f
...@@ -388,7 +388,10 @@ int dma_async_device_register(struct dma_device *device) ...@@ -388,7 +388,10 @@ int dma_async_device_register(struct dma_device *device)
init_completion(&device->done); init_completion(&device->done);
kref_init(&device->refcount); kref_init(&device->refcount);
mutex_lock(&dma_list_mutex);
device->dev_id = id++; device->dev_id = id++;
mutex_unlock(&dma_list_mutex);
/* represent channels in sysfs. Probably want devs too */ /* represent channels in sysfs. Probably want devs too */
list_for_each_entry(chan, &device->channels, device_node) { list_for_each_entry(chan, &device->channels, device_node) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment