>When SD Card is removed in TI8148EVM board,the linux will reboot.
at last I find in this place the cpu is blocked for four to six minutes,and my watchdog just have one point two minutes,so the system reboot when the sd card is removed.
static inline void omap_hsmmc_reset_controller_fsm(struct omap_hsmmc_host *host, unsigned long bit){
... /* * OMAP4 ES2 and greater has an updated reset logic. * Monitor a 0->1 transition first */ if (mmc_slot(host).features & HSMMC_HAS_UPDATED_RESET) { while ((!(OMAP_HSMMC_READ(host->base, SYSCTL) & bit)) && (i++ < limit)) cpu_relax();
... }
Does anyone have the same problem,and how to sovle the problem?I do really not know what to do .
Looks like the experts aren't responding. I don't have a TI8148EVM. On other platforms where I accidentally removed the SD Card, I vaguely remember I got an immediate kernel panic and crash. Mind you the SD Card was the root file system. The drivers/mmc/host/omap_hsmmc.c code uses a timeout of 20 millseconds (approximatedly as it uses a busy wait loop). Do you get timeout messages on the console for the 4 to 6 minutes? IS the system unresponsive for that time?
An aside, the omap_hsmmc_reset_controller_fsm() can be called from an IRQ. The function busy waits. Not a good thing to do in an IRQ. Just an observation. May have nothing to do with your problem.