On Mon, Nov 26, 2012 at 05:54:33AM +0000, Huang Changming-R66093 wrote: > Hi, Robot > I don't find the `__aeabi_uldivmod' in branch 'mmc-next' of linux-mmc tree. > Could you point out which file use it? > > This patch just use the 'div_u64' to calculate the timeout in order to avoid overflow. Hi! This is confirmed to fix the problem: diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c index 48ad361..daf0636 100644 --- a/drivers/mmc/host/omap.c +++ b/drivers/mmc/host/omap.c @@ -921,7 +921,7 @@ static inline void set_data_timeout(struct mmc_omap_host *host, struct mmc_reque u16 reg; cycle_ns = 1000000000 / host->current_slot->fclk_freq; - timeout = req->data->timeout_ns / cycle_ns; + timeout = div_u64(req->data->timeout_ns, cycle_ns); timeout += req->data->timeout_clks; /* Check if we need to use timeout multiplier register */ -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html