Just by chance I stumbled across this driver and the recently added runtime PM code. Two things in i2c_imx_probe look suspicious to me: - You activate the I2C clock and then initialize runtime PM with pm_runtime_enable(&pdev->dev); pm_runtime_set_autosuspend_delay(&pdev->dev, I2C_PM_TIMEOUT); pm_runtime_use_autosuspend(&pdev->dev); Seems like a call to pm_runtime_set_active is missing to tell runtime PM that the device is in status "active" now. - You use pm_runtime_put_autosuspend (which decrements the ref count) but you don't get a reference before. I think you would have to use pm_runtime_get_... before or use pm_runtime_autosuspend. Regards, Heiner -- 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