[U-Boot] Pull request: u-boot-net.git master

Langer Thomas
2012-12-11T23:47:51Z

Hello Joe,

> Tomas Hlavacek (67):
> net: dm: Pull out ops from struct eth_device
> net: 4xx_enet: Pull out init of struct eth_ops
> net: altera_tse: Pull out init of struct eth_ops
> net: dm9000x: Pull out init of struct eth_ops
> net: armada100_fec: Pull out init of struct eth_ops
> net: at91_emac: Pull out init of struct eth_ops
> net: ax88180: Pull out init of struct eth_ops
> net: bfin_mac: Pull out init of struct eth_ops
> net: calxedaxgmac: Pull out init of struct eth_ops
> net: cs8900: Pull out init of struct eth_ops
> net: davinci_emac: Pull out init of struct eth_ops
> net: dc2114x: Pull out init of struct eth_ops
> net: designware: Pull out init of struct eth_ops
> net: dnet: Pull out init of struct eth_ops
> net: e1000: Pull out init of struct eth_ops
> net: eepro100: Pull out init of struct eth_ops
> net: enc28j60: Pull out init of struct eth_ops
> net: ep93xx_eth: Pull out init of struct eth_ops
> net: ethoc: Pull out init of struct eth_ops
> net: fec_mxc: Pull out init of struct eth_ops
> net: ftgmac100: Pull out init of struct eth_ops
> net: greth.c: Pull out init of struct eth_ops
> net: fsl_mcdmafec: Pull out init of struct eth_ops
> net: inca-ip_sw: Pull out init of struct eth_ops
> net: ks8695eth: Pull out init of struct eth_ops
> net: lan91c96: Pull out init of struct eth_ops
> net: macb: Pull out init of struct eth_ops
> net: mcffec: Pull out init of struct eth_ops
> net: mpc5xxx_fec: Pull out init of struct eth_ops
> net: mvgbe: Pull out init of struct eth_ops
> net: mpc512x_fec: Pull out init of struct eth_ops
> net: natsemi: Pull out init of struct eth_ops
> net: ne2000: Pull out init of struct eth_ops
> net: npe: Pull out init of struct eth_ops
> net: ns8382x: Pull out init of struct eth_ops
> net: pcnet: Pull out init of struct eth_ops
> net: plb2800_eth: Pull out init of struct eth_ops
> net: rtl8139: Pull out init of struct eth_ops
> net: rtl8169: Pull out init of struct eth_ops
> net: smc91111: Pull out init of struct eth_ops
> net: smc911x: Pull out init of struct eth_ops
> net: tsec: Pull out init of struct eth_ops
> net: tsi108_eth: Pull out init of struct eth_ops
> net: uli526x: Pull out init of struct eth_ops
> net: xilinx_axi_emac: Pull out init of struct eth_ops
> net: xilinx_emaclite: Pull out init of struct eth_ops
> net: zynq_gem: Pull out init of struct eth_ops
> net: xilinx_ll_temac: Pull out init of struct eth_ops
> net: sh_eth: Pull out init of struct eth_ops
> net: au1x00_eth: Pull out init of struct eth_ops
> net: mpc8220_fec: Pull out init of struct eth_ops
> net: mpc8260_fec: Pull out init of struct eth_ops
> net: mpc8260_scc: Pull out init of struct eth_ops
> net: mpc85xx_fec: Pull out init of struct eth_ops
> net: mpc8xx_scc: Pull out init of struct eth_ops
> net: db64360/mv_eth: Pull out init of struct eth_ops
> net: mpc8xx_fec: Pull out init of struct eth_ops
> net: db64460/mv_eth: Pull out init of struct eth_ops
> net: cpci750/mv_eth: Pull out init of struct eth_ops
> net: evb64260: Pull out init of struct eth_ops
> net: p3mx/mv_eth: Pull out init of struct eth_ops
> net: cpsw: Pull out init of struct eth_ops
> net: fm_eth: Pull out init of struct eth_ops
> net: ftmac100: Pull out init of struct eth_ops
> net: qe: uec: Pull out init of struct eth_ops
> net: usb: asix: Pull out init of struct eth_ops
> net: usb: smsc95xx: Pull out init of struct eth_ops

These patches for static initialization of the struct eth_ops will break the drivers on any architecture which needs manual relocation!

I've send a comment regarding this, please see here:
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/146092/focus=147607

The tests with QEMU are insufficient, as probably the memory locations before relocation were still available and used via the
uncorrected pointers.

So please consider to revoke the pull request until an update with fixes for the "eth_ops" series is available.

Best Regards,
Thomas