#define I2C_DEV_SCL_RATE 100 * 1000
-struct completion i2c_dev_complete;
+struct completion i2c_dev_complete = {
+ .done = -1;
+};
struct i2c_dump_info g_dump;
static void i2c_dev_get_list(struct i2c_list_info *list)
g_dump.get_value[j] = msgs[i].buf[j];
}
}
- complete(&i2c_dev_complete);
+ if(i2c_dev_complete.done == 0)
+ complete(&i2c_dev_complete);
return;
}
EXPORT_SYMBOL(i2c_dev_dump_stop);
#endif
if (mmc_card_present(card)) {
+ mmc_card_clr_present(card);
if (mmc_host_is_spi(card->host)) {
printk(KERN_INFO "%s: SPI card removed\n",
mmc_hostname(card->host));
host);
if(ret < 0)
dev_err(host->dev, "gpio request_irq error\n");
+ mmc_detect_change(host->mmc, 0);
ret = mmc_resume_host(host->mmc);
}
#endif