lkml.org 
[lkml]   [2018]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 178/254] sh_eth: fix SH7757 GEther initialization
    3.16.55-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

    commit 5133550296d43236439494aa955bfb765a89f615 upstream.

    Renesas SH7757 has 2 Fast and 2 Gigabit Ether controllers, while the
    'sh_eth' driver can only reset and initialize TSU of the first controller
    pair. Shimoda-san tried to solve that adding the 'needs_init' member to the
    'struct sh_eth_plat_data', however the platform code still never sets this
    flag. I think that we can infer this information from the 'devno' variable
    (set to 'platform_device::id') and reset/init the Ether controller pair
    only for an even 'devno'; therefore 'sh_eth_plat_data::needs_init' can be
    removed...

    Fixes: 150647fb2c31 ("net: sh_eth: change the condition of initialization")
    Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/net/ethernet/renesas/sh_eth.c | 4 ++--
    include/linux/sh_eth.h | 1 -
    2 files changed, 2 insertions(+), 3 deletions(-)

    --- a/drivers/net/ethernet/renesas/sh_eth.c
    +++ b/drivers/net/ethernet/renesas/sh_eth.c
    @@ -2902,8 +2902,8 @@ static int sh_eth_drv_probe(struct platf
    ndev->features = NETIF_F_HW_VLAN_CTAG_FILTER;
    }

    - /* initialize first or needed device */
    - if (!devno || pd->needs_init) {
    + /* Need to init only the first port of the two sharing a TSU */
    + if (devno % 2 == 0) {
    if (mdp->cd->chip_reset)
    mdp->cd->chip_reset(ndev);

    --- a/include/linux/sh_eth.h
    +++ b/include/linux/sh_eth.h
    @@ -16,7 +16,6 @@ struct sh_eth_plat_data {
    unsigned char mac_addr[ETH_ALEN];
    unsigned no_ether_link:1;
    unsigned ether_link_active_low:1;
    - unsigned needs_init:1;
    };

    #endif
    \
     
     \ /
      Last update: 2018-02-28 17:25    [W:4.094 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site