• Thierry Reding's avatar
    net: stmmac: Move debugfs init/exit to ->probe()/->remove() · 5f2b8b62
    Thierry Reding authored
    Setting up and tearing down debugfs is current unbalanced, as seen by
    this error during resume from suspend:
    
        [  752.134067] dwc-eth-dwmac 2490000.ethernet eth0: ERROR failed to create debugfs directory
        [  752.134347] dwc-eth-dwmac 2490000.ethernet eth0: stmmac_hw_setup: failed debugFS registration
    
    The imbalance happens because the driver creates the debugfs hierarchy
    when the device is opened and tears it down when the device is closed.
    There's little gain in that, and it could be argued that it is even
    surprising because it's not usually done for other devices. Fix the
    imbalance by moving the debugfs creation and teardown to the driver's
    ->probe() and ->remove() implementations instead.
    
    Note that the ring descriptors cannot be read while the interface is
    down, so make sure to return an empty file when the descriptors_status
    debugfs file is read.
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    Acked-by: default avatarJose Abreu <joabreu@synopsys.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5f2b8b62
stmmac_main.c 126 KB