[U-Boot-Users] bugs seized in rtl8139.c

Lucas Jin lucasjin at gmail.com
Thu Oct 11 16:10:35 CEST 2007


Hi all:

Base version of U-Boot is 1.1.1

1. L482:
rx_status = *(unsigned int*)KSEG1ADDR((rx_ring + ring_offs));
Change to:
rx_status = *(unsigned int*)le_to_cpu(rx_ring + ring_offs);
For "le_to_cpu", the following head files should be included:
#include <linux/byteorder/big_endian.h>
#include <linux/byteorder/generic.h>

2. L215:
pci_read_config_dword(devno, PCI_BASE_ADDRESS_1, &iobase);
Change to:
pci_read_config_dword(devno, PCI_BASE_ADDRESS_0, &iobase);

3. L107, L108:
#define bus_to_phys(a)	pci_mem_to_phys((pci_dev_t)dev->priv, a)
#define phys_to_bus(a)	pci_phys_to_mem((pci_dev_t)dev->priv, a)
change to:
#define bus_to_phys(a)	pci_io_to_phys((pci_dev_t)dev->priv, a)
#define phys_to_bus(a)	pci_phys_to_io((pci_dev_t)dev->priv, a)

4. L385:
outl(phys_to_bus((int)rx_ring), ioaddr + RxBuf);
change to:
outl((int)rx_ring, ioaddr + RxBuf);

5. L425:
outl(phys_to_bus((int)tx_buffer), ioaddr + TxAddr0 + cur_tx*4);
change to:
outl((int)tx_buffer, ioaddr + TxAddr0 + cur_tx*4);
 				
--------------
Lucas Jin





More information about the U-Boot mailing list