On Thu, Oct 25, 2018 at 09:55:47PM +0000, Ajay Gupta wrote:
> Hi Heikki and Andy
> [...]
> > > > Shouldn't you return -ETIMEDOUT if count == 0?
> > > Yes. Good catch. Does the below fix looks ok?
> > >
> > >         do {
> > >                 status = ccg_write(uc, CCGX_RAB_INTR_REG, &data, 
> > > sizeof(data));
> > >                 if (status < 0)
> > >                         return status;
> > >
> > >                 usleep_range(10000, 11000);
> > >
> > >                 status = ccg_read(uc, CCGX_RAB_INTR_REG, &data, 
> > > sizeof(data));
> > >                 if (status < 0)
> > >                         return status;
> > >
> > >                 if (!data)
> > >                         return 0;
> > >         } while (data && count--);
> > 
> > Doesn't that condition break out of the loop immediately?
> How? I didn't get your point? We want to break out when data is
> zero (interrupt status cleared).

Sorry Ajay. My brain interpreted that "while" as an "if" statement :-)


thanks,

-- 
heikki

Reply via email to