• Doug Berger's avatar
    net: bcmgenet: Refactor bcmgenet_set_features() · f63db4ef
    Doug Berger authored
    In preparation for unconditionally enabling TX and RX checksum
    offloads, refactor bcmgenet_set_features() a bit such that
    __netdev_update_features() during register_netdev() can make sure
    that features are correctly programmed during network device
    registration.
    
    Since we can now be called during register_netdev() with clocks
    gated, we need to temporarily turn them on/off in order to have a
    successful register programming.
    
    We also move the CRC forward setting read into
    bcmgenet_set_features() since priv->crc_fwd_en matters while
    turning on RX checksum offload, that way we are guaranteed they
    are in sync in case we ever add support for NETIF_F_RXFCS at some
    point in the future.
    Signed-off-by: default avatarDoug Berger <opendmb@gmail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f63db4ef
bcmgenet.c 99 KB