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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to