Re: [PATCH v2] net: stmmac: Move debugfs init/exit to ->probe()/->remove()
From: David Miller
Date: Fri Nov 30 2018 - 16:16:51 EST
From: Thierry Reding <thierry.reding@xxxxxxxxx>
Date: Tue, 27 Nov 2018 14:21:43 +0100
> From: Thierry Reding <treding@xxxxxxxxxx>
>
> 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: Thierry Reding <treding@xxxxxxxxxx>
> ---
> This applies on top of net-next.
>
> Changes in v2:
> - avoid access to ring descriptors when interface is down
Applied, thanks.