• Eric Joyner's avatar
    em/igb/ix(4): Port two Tx/Rx fixes made to ixl in r339338 · adf93b56
    Eric Joyner authored
    - Fix assert/panic on receive when Jumbo Frames are enabled.
    
    From the commit I made to ixl:
    "It turns out that *_isc_rxd_available is supposed to return how many
    packets are available to be cleaned on the rx ring. This patch removes
    a section of code where if the budget argument is 1, the function would return
    one if there was a descriptor available, not necessarily a packet.
    
    This is okay in regular mtu 1500 traffic since the max frame size is less
    than the configured receive buffer size (2048), but this doesn't work when
    received packets can span more than one  descriptor, as is the case when the
    mtu is 9000 and the receive buffer size is 4096."
    
    - Fix possible Tx hang because *_isc_txd_credits_update returns incorrect result
    
    From the commit by Krzysztof Galazka to ixl: "Function isc_txd_update_credits
    called with clear set to false should return 1 if there are TX descriptors
    already handled by HW. It was always returning 0 causing troubles with UDP TX
    traffic."
    
    PR:             231659
    Reported by:    lev@
    Approved by:	re (gjb@)
    Sponsored by:   Intel Corporation
    adf93b56