Skip to content

Commit

Permalink
iio: adc: adi-axi-adc: Fix object reference counting
Browse files Browse the repository at this point in the history
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: ef04070 (iio: adc: adi-axi-adc: add support for AXI ADC IP core)

Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Acked-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
  • Loading branch information
Nuno Sá authored and Jonathan Cameron committed Jul 4, 2020
1 parent d88de04 commit e9c6004
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/iio/adc/adi-axi-adc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit e9c6004

Please sign in to comment.