lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160208163757.GB3630@deathstar>
Date:	Mon, 8 Feb 2016 10:37:57 -0600
From:	Michael Welling <mwelling@...e.org>
To:	Daniel Baluta <daniel.baluta@...el.com>
Cc:	Wolfram Sang <wsa@...-dreams.de>,
	Jonathan Cameron <jic23@...nel.org>,
	Hartmut Knaack <knaack.h@....de>,
	Lars-Peter Clausen <lars@...afoo.de>,
	Peter Meerwald-Stadler <pmeerw@...erw.net>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	"linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
	Lucas De Marchi <lucas.demarchi@...el.com>,
	Andy Gross <agross@...eaurora.org>,
	Pramod Gurav <pramod.gurav@...rtplayin.com>,
	Bjorn Andersson <bjorn.andersson@...ymobile.com>,
	Guenter Roeck <linux@...ck-us.net>, eibach@...ys.de,
	Sricharan R <sricharan@...eaurora.org>,
	linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH v4] iio: adc: Add TI ADS1015 ADC driver support

On Mon, Feb 08, 2016 at 04:44:02PM +0200, Daniel Baluta wrote:
> On Mon, Feb 8, 2016 at 12:25 PM, Wolfram Sang <wsa@...-dreams.de> wrote:
> > On Fri, Feb 05, 2016 at 06:32:45PM -0600, Michael Welling wrote:
> >> On Fri, Feb 05, 2016 at 09:32:34PM +0200, Daniel Baluta wrote:
> >> > >> +static int ads1015_read_raw(struct iio_dev *indio_dev,
> >> > >> +                         struct iio_chan_spec const *chan, int *val,
> >> > >> +                         int *val2, long mask)
> >> > >> +{
> >> > >> +     int ret, idx;
> >> > >> +     struct ads1015_data *data = iio_priv(indio_dev);
> >> > >> +
> >> > >> +     mutex_lock(&data->lock);
> >> > >> +     switch (mask) {
> >> > >> +     case IIO_CHAN_INFO_RAW:
> >> > >> +             if (iio_buffer_enabled(indio_dev)) {
> >> > >> +                     ret = -EBUSY;
> >> > >> +                     break;
> >> > >> +             }
> >> > >> +
> >> > >> +             ret = ads1015_set_power_state(data, true);
> >> > >> +             if (ret < 0)
> >> > >> +                     break;
> >> > >
> >> > > Just tested the driver on a Dragonboard 410C with a robotics mezzanine that I
> >> > > designed.
> >> > >
> >> > > The above ads1015_set_power_state(data, true) is always returning -EINVAL.
> >> > >
> >> > > Any ideas why that would be happening?
> >> > > I think it may be the return from pm_runtime_get_sync?
> >> >
> >> > Can you confirm that pm_runtime_get_sync fails? Using some printk?
> >> >
> >> > Also adding printks in suspend/resume function would be helpful. Do
> >> > you have CONFIG_PM enabled?
> >> >
> >>
> >> Indeed it is the pm_runtime_get_sync that fails with a -EINVAL.
> 
> Can you check the output of:
> $ cat /sys/bus/iio/devices/iio:device0/power/runtime_status
> 
> * after insmod

root@...gonboard-410c:~# cat /sys/bus/iio/devices/iio:device0/power/runtime_status
unsupported

> * after a reading from sysfs

root@...gonboard-410c:~# cat /sys/bus/iio/devices/iio:device0/power/runtime_status
unsupported

> 
> >>
> >> > >
> >> > > When I comment out the break the readings come back but are not updated continually.
> >> > > If I read in_voltage0-voltage1_raw then in_voltage0_raw the value is updated.
> >> >
> >> > I guess this is normal if set_power_state fails.
> >>
> >> The hwmod driver works fine BTW.
> >>
> >> My guess is there is an issue with the qup i2c driver seeing as it has worked on
> >> other system without issue.
> >>
> >> CC'd some the latest developer on the qup i2c driver.
> >>
> >> I2C guys have any ideas on this?
> >>
> >
> > Adding some more people who recently worked on this. Might be nice to
> > know which kernel version you are using.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ