Re: [2.6.25 patch] drivers/crypto/hifn_795x.c: fix 64bit division

Andrew Morton
2008-02-27T00:10:49Z

On Tue, 26 Feb 2008 21:52:40 +0300 Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:

> Hi Adrian.
>
> On Tue, Feb 26, 2008 at 05:34:21PM +0200, Adrian Bunk (bunk@kernel.org) wrote:
> > Using ndelay() with a 64bit variable as parameter can result in build
> > errors like the following on some 32bit systems when it results in a
> > 64bit division:
> >
> > <-- snip -->
> >
> > ...
> > MODPOST 759 modules
> > ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined!
> >
> > <-- snip -->
> >
> > Reported by Martin Michlmayr.
> >
> > Signed-off-by: Adrian Bunk <bunk@kernel.org>
>
> Yep, ndelay() uses division, thanks a lot Adrian for spotting this.

hm. Where?

> Herbert, please apply.
>
> ACK.

udelay() might be exposed to the same problem. It would be better to fix
ndelay() and udelay() rather than callers. It is reasonable to pass a u64
into ndelay() and to expect the build to not explode.

(Geeze macros suck)