mbox

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

Message ID CANr=Z=bxE=7RT8AUmYC++xOc-i4dexskkhAy4B4wfuTfTUBn8w@mail.gmail.com
State Rejected
Delegated to: Tom Rini
Headers show

Pull-request

git://git.denx.de/u-boot-net.git master

Message

Joe Hershberger Dec. 11, 2012, 7:38 p.m. UTC
The following changes since commit ea40a05422bdc87a7af5dc349e8adce59f982e72:

  MIPS: constify address pointer in test_bit() (2012-12-08 21:48:19 +0100)

are available in the git repository at:

  git://git.denx.de/u-boot-net.git master

for you to fetch changes up to 7680b9a758b257ea272c83518d9c76c3ef0a59b8:

  net: usb: smsc95xx: Pull out init of struct eth_ops (2012-12-10
14:28:03 -0600)

----------------------------------------------------------------
Joe Hershberger (1):
      net: Fix endianness bug in link-local

Michal Simek (1):
      phy: Add support for Marvell 88E1118R

Ruchika Gupta (1):
      e1000e : Correct Rx Threshold granularity

Simon Glass (1):
      net: Add tftp speed indication

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

trem (1):
      powerpc: remove not used CONFIG_SYS_TFTP_LOADADDR

 README                                   |  3 ---
 arch/mips/cpu/mips32/au1x00/au1x00_eth.c | 14 +++++++++-----
 arch/powerpc/cpu/mpc8220/fec.c           | 11 +++++++----
 arch/powerpc/cpu/mpc8260/ether_fcc.c     | 14 +++++++++-----
 arch/powerpc/cpu/mpc8260/ether_scc.c     | 12 ++++++++----
 arch/powerpc/cpu/mpc85xx/ether_fcc.c     | 14 +++++++++-----
 arch/powerpc/cpu/mpc8xx/fec.c            | 12 ++++++++----
 arch/powerpc/cpu/mpc8xx/scc.c            | 12 ++++++++----
 board/Marvell/db64360/mv_eth.c           | 12 ++++++++----
 board/Marvell/db64460/mv_eth.c           | 12 ++++++++----
 board/davinci/da8xxevm/da830evm.c        |  2 +-
 board/esd/cpci750/mv_eth.c               | 12 ++++++++----
 board/evb64260/eth.c                     | 13 +++++++++----
 board/prodrive/p3mx/mv_eth.c             | 12 ++++++++----
 drivers/net/4xx_enet.c                   | 12 ++++++++----
 drivers/net/altera_tse.c                 | 14 +++++++++-----
 drivers/net/armada100_fec.c              | 12 ++++++++----
 drivers/net/at91_emac.c                  | 14 +++++++++-----
 drivers/net/ax88180.c                    | 13 +++++++++----
 drivers/net/bfin_mac.c                   | 14 +++++++++-----
 drivers/net/calxedaxgmac.c               | 14 ++++++++++----
 drivers/net/cpsw.c                       | 12 ++++++++----
 drivers/net/cs8900.c                     | 12 ++++++++----
 drivers/net/davinci_emac.c               | 14 +++++++++-----
 drivers/net/dc2114x.c                    | 14 +++++++++-----
 drivers/net/designware.c                 | 14 +++++++++-----
 drivers/net/dm9000x.c                    | 12 ++++++++----
 drivers/net/dnet.c                       | 14 +++++++++-----
 drivers/net/e1000.c                      | 22 ++++++++++++++++++----
 drivers/net/e1000.h                      |  1 +
 drivers/net/eepro100.c                   | 12 ++++++++----
 drivers/net/enc28j60.c                   | 14 +++++++++-----
 drivers/net/ep93xx_eth.c                 | 12 ++++++++----
 drivers/net/ethoc.c                      | 14 +++++++++-----
 drivers/net/fec_mxc.c                    | 15 ++++++++++-----
 drivers/net/fm/eth.c                     | 12 ++++++++----
 drivers/net/fsl_mcdmafec.c               | 12 ++++++++----
 drivers/net/ftgmac100.c                  | 12 ++++++++----
 drivers/net/ftmac100.c                   | 12 ++++++++----
 drivers/net/greth.c                      | 12 ++++++++----
 drivers/net/inca-ip_sw.c                 | 11 +++++++----
 drivers/net/ks8695eth.c                  | 12 ++++++++----
 drivers/net/lan91c96.c                   | 12 ++++++++----
 drivers/net/macb.c                       | 14 +++++++++-----
 drivers/net/mcffec.c                     | 12 ++++++++----
 drivers/net/mpc512x_fec.c                | 12 ++++++++----
 drivers/net/mpc5xxx_fec.c                | 11 +++++++----
 drivers/net/mvgbe.c                      | 14 +++++++++-----
 drivers/net/natsemi.c                    | 12 ++++++++----
 drivers/net/ne2000_base.c                | 12 ++++++++----
 drivers/net/npe/npe.c                    | 12 ++++++++----
 drivers/net/ns8382x.c                    | 13 +++++++++----
 drivers/net/pcnet.c                      | 13 ++++++++-----
 drivers/net/phy/marvell.c                | 11 +++++++++++
 drivers/net/plb2800_eth.c                | 11 +++++++----
 drivers/net/rtl8139.c                    | 18 +++++++++++-------
 drivers/net/rtl8169.c                    | 13 +++++++++----
 drivers/net/sh_eth.c                     | 12 ++++++++----
 drivers/net/smc91111.c                   | 14 +++++++++-----
 drivers/net/smc911x.c                    | 12 ++++++++----
 drivers/net/tsec.c                       | 18 +++++++++++-------
 drivers/net/tsi108_eth.c                 | 12 ++++++++----
 drivers/net/uli526x.c                    | 12 ++++++++----
 drivers/net/xilinx_axi_emac.c            | 15 ++++++++++-----
 drivers/net/xilinx_emaclite.c            | 12 ++++++++----
 drivers/net/xilinx_ll_temac.c            | 27 ++++++++++++++++++++-------
 drivers/net/zynq_gem.c                   | 14 +++++++++-----
 drivers/qe/uec.c                         | 12 ++++++++----
 drivers/usb/eth/asix.c                   | 14 +++++++++-----
 drivers/usb/eth/smsc95xx.c               | 14 +++++++++-----
 include/configs/CRAYL1.h                 |  1 -
 include/configs/GEN860T.h                |  5 -----
 include/configs/TOP860.h                 |  1 -
 include/configs/ep8260.h                 |  1 -
 include/configs/utx8245.h                |  1 -
 include/net.h                            | 17 +++++++++++------
 net/eth.c                                | 16 ++++++++--------
 net/link_local.c                         |  2 +-
 net/tftp.c                               |  8 ++++++++
 79 files changed, 621 insertions(+), 322 deletions(-)

Comments

thomas.langer@lantiq.com Dec. 11, 2012, 11:47 p.m. UTC | #1
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
Joe Hershberger Dec. 12, 2012, 3:42 a.m. UTC | #2
Hi Thomas,

On Tue, Dec 11, 2012 at 5:47 PM, Langer Thomas (LQDE RD ST PON SW)
<thomas.langer@lantiq.com> wrote:
> Hello Joe,
>
> 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

I missed that message before.  Thanks for keeping an eye out!

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

I just ran into another issue on MIPS where the is the case... serial
is busted (serial_initialize() isn't called, which manually
relocates), but it doesn't appear as a crash because of the
pre-relocation addresses still being valid.

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

Indeed.  Tom, please disregard this pull request.

> Best Regards,
> Thomas
>
Tom Rini Dec. 12, 2012, 1:16 p.m. UTC | #3
On Tue, Dec 11, 2012 at 09:42:21PM -0600, Joe Hershberger wrote:
> Hi Thomas,
> 
> On Tue, Dec 11, 2012 at 5:47 PM, Langer Thomas (LQDE RD ST PON SW)
> <thomas.langer@lantiq.com> wrote:
> > Hello Joe,
> >
> > 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
> 
> I missed that message before.  Thanks for keeping an eye out!
> 
> > The tests with QEMU are insufficient, as probably the memory locations before relocation were still available and used via the
> > uncorrected pointers.
> 
> I just ran into another issue on MIPS where the is the case... serial
> is busted (serial_initialize() isn't called, which manually
> relocates), but it doesn't appear as a crash because of the
> pre-relocation addresses still being valid.
> 
> > So please consider to revoke the pull request until an update with fixes for the "eth_ops" series is available.
> 
> Indeed.  Tom, please disregard this pull request.

Disregarded.