From 1a8a04da88d3e2a77d2be63788f8da6c75ff5b87 Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Sat, 23 May 2009 11:47:24 +0000 Subject: [PATCH] Add r782 into 1.0.1.x branch. git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/1.0.1.x@886 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla_isp/common/isp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qla_isp/common/isp.c b/qla_isp/common/isp.c index 76ab50787..03c499fe8 100644 --- a/qla_isp/common/isp.c +++ b/qla_isp/common/isp.c @@ -2630,6 +2630,14 @@ isp_fclink_test(ispsoftc_t *isp, int chan, int usdelay) ISP_SLEEP(isp, wrk); } else { while (enano > (uint64_t) 4000000000U) { +#if defined(__GNUC__) && (__GNUC__ >= 4) + /* + * Prevent to optimize loop, gcc assume libgcc.a + * with __udivdi3 is linked, but this is not + * true when building (linux) kernel + */ + asm("" : "+rm" (enano)); +#endif count += 4000000; enano -= (uint64_t) 4000000000U; }