On Wed, 2020-07-01 at 14:04 +0200, Nuno Sá wrote: > [External] > > 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. > Yep. Good catch here. Acked-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx> > Fixes: ef04070692a2 (iio: adc: adi-axi-adc: add support for AXI ADC IP > core) > > Signed-off-by: Nuno Sá <nuno.sa@xxxxxxxxxx> > --- > drivers/iio/adc/adi-axi-adc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/adc/adi-axi-adc.c b/drivers/iio/adc/adi-axi- > adc.c > index 63d926e86798..86b6b65916ee 100644 > --- a/drivers/iio/adc/adi-axi-adc.c > +++ b/drivers/iio/adc/adi-axi-adc.c > @@ -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(®istered_clients_lock); > return ERR_PTR(-ENODEV); > } > > - get_device(dev); > + get_device(cl->dev); > cl->info = info; > mutex_unlock(®istered_clients_lock); > return cl;