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

Langer Thomas (LQDE RD ST PON SW) thomas.langer at lantiq.com
Wed Dec 12 00:47:51 CET 2012


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



More information about the U-Boot mailing list