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
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: /bugzilla. kernel. org/show_ bug.cgi? id=198035
https:/