On Mon, 12 May 2008 09:25:33 -0700, David Brownell wrote:
> On Monday 12 May 2008, Jean Delvare wrote:
> > Elsewhere in this driver there is:
> > 
> >     /* device error - no response, ignore the autodetection case */
> >     if ((data & HST_STS_DEVERR) && (size != HST_CNTL2_QUICK)) {
> >             dev_err(&a->dev, "Device error!\n");
> >     }
> > 
> > which makes it clear to me that HST_STS_DEVERR is what you get when no
> > device acks a transaction. So returning -ENODEV would make sense.
> 
> In that case, yes.  That one is fixed.  (DEVERR and QUICK report
> as ENXIO.)
> 
> But it looks like a case of bundling faults into one bit, ergo
> my comment.  ONLY that case with QUICK is special cased per your
> heuristic.  That other case isn't special cased... it could well
> be exposing some *other* and more significant error.

Just to make sure it's clear: the Quick command case isn't special as
far as the returned error value is concerned. If nobody acks a Quick
command, that's still -ENXIO.

What is special about the Quick command is that we don't want to log the
error in this case, because it's used for detection purposes so it
happens frequently and it isn't something the user should worry about.

-- 
Jean Delvare

_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c

Reply via email to