Hi, I'm using PCA9564 attached to a ks8695 SoC. During my efforts to get 2.6.33/34 running on my system I noticed sporadic problems with RTC: rtc-ds1307 0-0068: read error -11 RTC_RD_TIME: Input/output error ioctl() to /dev/rtc to read the time failed. After turning debug messages in i2c subsystem I got following info: i2c i2c-0: master_xfer[0] W, addr=0x68, len=1 i2c i2c-0: master_xfer[1] R, addr=0x68, len=7 i2c i2c-0: bus is not idle. status is 0x28 (sometimes it is 0x50 or 0x58) This is the way I configure RTC and I2C: /***************************************************************************** * RTC DS1337 on I2C bus ****************************************************************************/ static struct i2c_board_info __initdata vsopenrisc_i2c_rtc = { I2C_BOARD_INFO("ds1337", 0x68), }; static struct i2c_pca9564_pf_platform_data __initdata pca_data ={ .gpio = -1, .i2c_clock_speed = 59000, .timeout = 1, }; static struct resource pca_resources[] = { [0] = { .start = VSOPENRISC_PA_I2C_BASE, .end = VSOPENRISC_PA_I2C_BASE + 0x400 - 1, .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT, }, [1] = { .start = 0, .end = 0, .flags = IORESOURCE_IRQ, }, }; static struct platform_device vsopenrisc_pca_device = { .name = "i2c-pca-platform", .id = -1, .dev = { .platform_data = &pca_data, }, .resource = pca_resources, .num_resources = ARRAY_SIZE(pca_resources), }; With the older kernel 2.6.26 I have never encountered such problems before. Diffing i2c-algo-pca.c between 2.6.26 and 2.6.33 showed that there were some minor changes regarding waiting policy in pca_xfer(). Could this be the reason for such behavior? Any idea? Regards, Yegor -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html