bugs seized in rtl8139.c
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
Quoted 2 lines · In message <[email protected]> you wrote:
Base version of U-Boot is 1.1.1
Ancient. Forget it.
Quoted 7 lines
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>
Argh... please provide a proper patch. See
http://www.denx.de/wiki/UBoot/Patches
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Wenn das dann in die Hose geht, nehme ich es auf meine Kappe.
-- Rudi V?ller, 15. Nov 2003