Update:
Using debugging kernel 3.1.0-rc3+ (commit 7a54f5e19f + debug patches).
dmesg:
cx88[0]: i2c register ok cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner cx88[0]: i2c init: failed, error=-6
That error is:
#define ENXIO 6 /* No such device or address */
The code in cx88-i2c.c::i2c_transfer() can only return an error code other than -EAGAIN or -EOPNOTSUPP in the code:
/* Retry automatically on arbitration loss */ orig_jiffies = jiffies; for (ret = 0, try = 0; try <= adap->retries; try++) { ret = adap->algo->master_xfer(adap, msgs, num); if (ret != -EAGAIN) break; if (time_after(jiffies, orig_jiffies + adap->timeout)) break; }
I'm investigating that algo->master_xfer() now.
Update:
Using debugging kernel 3.1.0-rc3+ (commit 7a54f5e19f + debug patches).
dmesg:
cx88[0]: i2c register ok
cx88[0]: i2c init: enabling analog demod on HVR1300/3000/4000 tuner
cx88[0]: i2c init: failed, error=-6
That error is:
#define ENXIO 6 /* No such device or address */
The code in cx88-i2c. c::i2c_ transfer( ) can only return an error code other than -EAGAIN or -EOPNOTSUPP in the code:
/* Retry automatically on arbitration loss */ >master_ xfer(adap, msgs, num); jiffies, orig_jiffies + adap->timeout))
orig_jiffies = jiffies;
for (ret = 0, try = 0; try <= adap->retries; try++) {
ret = adap->algo-
if (ret != -EAGAIN)
break;
if (time_after(
break;
}
I'm investigating that algo->master_xfer() now.