Commit e9c6004e authored by Nuno Sá's avatar Nuno Sá Committed by Jonathan Cameron

iio: adc: adi-axi-adc: Fix object reference counting

When looking for a registered client to attach with, the wrong reference
counters are being grabbed. The idea is to increment the module and device
counters of the client device and not the counters of the axi device being
probed.

Fixes: ef040706 (iio: adc: adi-axi-adc: add support for AXI ADC IP core)
Signed-off-by: default avatarNuno Sá <nuno.sa@analog.com>
Acked-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent d88de040
......@@ -332,12 +332,12 @@ static struct adi_axi_adc_client *adi_axi_adc_attach_client(struct device *dev)
if (cl->dev->of_node != cln)
continue;
if (!try_module_get(dev->driver->owner)) {
if (!try_module_get(cl->dev->driver->owner)) {
mutex_unlock(&registered_clients_lock);
return ERR_PTR(-ENODEV);
}
get_device(dev);
get_device(cl->dev);
cl->info = info;
mutex_unlock(&registered_clients_lock);
return cl;
......
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