> Aloha guys
>
> I am writing an Ethernet driver for a Internal PCI cable modem with
> some onboard memory that I have mapped using ioremap.
...
> It is mapped using:
>
> // Remap physical PCI controller LCR memory to virtual memory
> if(((char*)(global_lcr_vmemaddr = (u32) ioremap(global_pci_lcr_memaddr, ...
...
> return -EAGAIN;
>
> // Remap physical PCI memory to virtual memory
> if((((char*)global_vmemaddr = (u32) ioremap(global_pci_memaddr,...
>
I don't know what the problem is, but I couldn't help noticing these lines
of code look deliberately un-64bit-clean. Is there a reason for this?
BTW, just for sanity check, where did these addresses "global_pci_memaddr"
come from? They were read using pcibios_read_config_dword, right?
> I have tried changing compiler (to gcc 2.7.2.3), changing the
> modem board with one that works with my WinNT driver, adding
> udelay(60) between accesses, using readb() instead of direct access -
> no change.
Silly question, but as Jeff suggested, when you tried readb you also tried
writeb, yes? :-)
-bp
-- # bryan at terran dot org # http://www.terran.org/~bryan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/