• D
    net: fec: fix the error to get the previous BD entry · 36e24e2e
    Duan Fugang-B38611 提交于
    Bug: error to get the previous BD entry. When the current BD
    is the first BD, the previous BD entry must be the last BD,
    not "bdp - 1" in current logic.
    
    V4:
      * Optimize fec_enet_get_nextdesc() for code clean.
        Replace "ex_new_bd - ring_size" with "ex_base".
        Replace "new_bd - ring_size" with "base".
    
    V3:
      * Restore the API name because David suggest to use fec_enet_
        prefix for all function in fec driver.
        So, change next_bd() -> fec_enet_get_nextdesc()
            change pre_bd()  -> fec_enet_get_prevdesc()
      * Reduce the two APIs parameters for easy to call.
    
    V2:
      * Add tx_ring_size and rx_ring_size to struct fec_enet_private.
      * Replace api fec_enet_get_nextdesc() with next_bd().
        Replace api fec_enet_get_prevdesc() with pre_bd().
    
      * Move all ring size check logic to next_bd() and pre_bd(), which
        simplifies the code redundancy.
    
    V1:
      * Add BD ring size check to get the previous BD entry in correctly.
    Reviewed-by: NLi Frank <B20596@freescale.com>
    Signed-off-by: NFugang Duan  <B38611@freescale.com>
    Acked-by: NFrank Li <frank.li@freescale.net>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    36e24e2e
fec.h 14.1 KB