08 Aug, 2017

1 commit

  • PXE boot is broken with GCC 7.1 due option '-fstore-merging' enabled
    by default for '-O2':

    BOOTP broadcast 1
    data abort
    pc : [] lr : []
    reloc pc : [] lr : []
    sp : 8f558bc0 ip : 00000000 fp : 8ffef5a4
    r10: 8ffed248 r9 : 8f558ee0 r8 : 8ffef594
    r7 : 0000000e r6 : 8ffed700 r5 : 00000000 r4 : 8ffed74e
    r3 : 00060101 r2 : 8ffed230 r1 : 8ffed706 r0 : 00000ddd
    Flags: nzcv IRQs off FIQs off Mode SVC_32
    Resetting CPU ...

    Core reason is usage of structures for network headers without packed
    attribute.

    Reviewed-by: Yauheni Kaliuta
    Signed-off-by: Denis Pynkin
    Acked-by: Joe Hershberger

    Denis Pynkin
     

19 Apr, 2015

5 commits


09 Aug, 2014

1 commit

  • Currently, the BOOTP code sends out its initial request as soon as the
    Ethernet driver indicates "link up". If this packet is lost or not
    replied to for some reason, the code waits for a 1s timeout before
    retrying. For some reason, such early packets are often lost on my
    system, so this causes an annoying delay.

    To optimize this, modify the BOOTP code to have very short timeouts for
    the first packet transmitted, but gradually increase the timeout each
    time a timeout occurs. This way, if the first packet is lost, the second
    packet is transmitted quite quickly and hence the overall delay is low.
    However, if there's still no response, we don't keep spewing out packets
    at an insane speed.

    It's arguably more correct to try and find out why the first packet is
    lost. However, it seems to disappear inside my Ethenet chip; the TX chip
    indicates no error during TX (not that it has much in the way of
    reporting...), yet wireshark on the RX side doesn't see any packet.
    FWIW, I'm using an ASIX USB Ethernet adapter. Perhaps "link up" is
    reported too early or based on the wrong condition in HW, and we should
    add some fixed extra delay into the driver. However, this would slow down
    every link up event even if it ends up not being needed in some cases.
    Having BOOTP retry quickly applies the fix/WAR to every possible
    Ethernet device, and is quite simple to implement, so seems a better
    solution.

    Signed-off-by: Stephen Warren
    Acked-by: Joe Hershberger

    Stephen Warren
     

24 May, 2012

3 commits


16 May, 2012

1 commit


19 Oct, 2008

1 commit

  • Enforce millisecond semantics of the first argument to NetSetTimeout() --
    the change is transparent for well-behaving boards (CFG_HZ == 1000 and
    get_timer() countiing in milliseconds).

    Rationale for this patch is to enable millisecond granularity for
    network-related timeouts, which is needed for the upcoming automatic
    software update feature.

    Summary of changes:
    - do not scale the first argument to NetSetTimeout() by CFG_HZ
    - change timeout values used in the networking code to milliseconds

    Signed-off-by: Rafal Czubak
    Signed-off-by: Bartlomiej Sieka
    Signed-off-by: Ben Warren

    Bartlomiej Sieka
     

27 Aug, 2008

1 commit


18 Nov, 2007

1 commit


10 Jul, 2007

1 commit


04 Jul, 2007

1 commit

  • This is a compatibility step that allows both the older form
    and the new form to co-exist for a while until the older can
    be removed entirely.

    All transformations are of the form:
    Before:
    #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT)
    After:
    #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT)

    Signed-off-by: Jon Loeliger

    Jon Loeliger
     

21 Jul, 2002

1 commit