error_type = "I/O";
break;
}
+#if defined(CONFIG_SDMMC_RK29) && !defined(CONFIG_SDMMC_RK29_OLD) //Modifyed by xbw at 2011-21-14
+ printk(KERN_DEBUG "end_request: %s error, dev %s, sector %llu\n",
+ error_type, req->rq_disk ? req->rq_disk->disk_name : "?",
+ (unsigned long long)blk_rq_pos(req));
+
+#else
printk(KERN_ERR "end_request: %s error, dev %s, sector %llu\n",
error_type, req->rq_disk ? req->rq_disk->disk_name : "?",
(unsigned long long)blk_rq_pos(req));
+#endif
}
blk_account_io_completion(req, nr_bytes);
if (brq.sbc.error || brq.cmd.error || brq.stop.error || brq.data.error) { //modifyed by xbw at 2011-11-17
#else
if (brq.data.error) {
-#endif
pr_err("%s: error %d transferring data, sector %u, nr %u, cmd response %#x, card status %#x\n",
req->rq_disk->disk_name, brq.data.error,
(unsigned)blk_rq_pos(req),
(unsigned)blk_rq_sectors(req),
brq.cmd.resp[0], brq.stop.resp[0]);
-
+#endif
if (rq_data_dir(req) == READ) {
+ #if defined(CONFIG_SDMMC_RK29) && !defined(CONFIG_SDMMC_RK29_OLD)
+ //direct to exit when error happen; deleted by xbw at 2011-12-14
+ #else
if (brq.data.blocks > 1) {
/* Redo read one sector at a time */
pr_warning("%s: retrying using single block read\n",
disable_multi = 1;
continue;
}
+ #endif
/*
* After an error, we redo I/O one sector at a
#if !defined(CONFIG_USE_SDMMC0_FOR_WIFI_DEVELOP_BOARD)
if( strncmp( mmc_hostname(host) ,"mmc0" , strlen("mmc0")) )
{
- sdio_reset(host);
+ //sdio_reset(host);//make no sense; noteed by xbw at 2011-12-14
mmc_go_idle(host);
if (!(init_ret=mmc_attach_sdio(host)))
mmc_go_idle(host);
}
#else
- sdio_reset(host);
+ //sdio_reset(host); //make no sense; noteed by xbw at 2011-12-14
mmc_go_idle(host);
if (!(init_ret=mmc_attach_sdio(host)))
#if defined(CONFIG_SDMMC_RK29) && !defined(CONFIG_SDMMC_RK29_OLD)
host->sdmmc_host_hw_init(mmc_priv(host)); //added by xbw , at 2011-10-18
+ host->ios.clock = host->f_min; //for avoid 25MHz once again during init process.noted by xbw at 2011-11-14
#endif
mmc_go_idle(host);
if (ret == -ENOENT) {
/* warn about unknown tuples */
- printk(KERN_WARNING "%s: queuing unknown"
+#if defined(CONFIG_SDMMC_RK29) && !defined(CONFIG_SDMMC_RK29_OLD)
+ // This is the normal exit procedure,rather than an error.noted by xbw at 2011-12-14
+ printk(KERN_DEBUG "%s: queuing unknown"
" CIS tuple 0x%02x (%u bytes)\n",
mmc_hostname(card->host),
tpl_code, tpl_link);
+#else
+ printk(KERN_WARNING "%s: queuing unknown"
+ " CIS tuple 0x%02x (%u bytes)\n",
+ mmc_hostname(card->host),
+ tpl_code, tpl_link);
+
+#endif
}
/* keep on analyzing tuples */