Comment 15 for bug 1717259

Revision history for this message
Steve Holton (sph0lt0n) wrote :

Potential Fix:

In starfire.c at line 653, ioaddr is declared as a (signed) long:

 653 long ioaddr;

This should instead be declared as an unsigned long, as memory addresses cannot really be negative.

 653 unsigned long ioaddr;

This allows ioremap() to correctly remap the address in a 64 bit context.

I'll pursue a kernel patch. Filed in bugzilla as:
   https://bugzilla.kernel.org/show_bug.cgi?id=198035