Subject: Re: [PATCH] net: stmmac: Move debugfs init/exit to ->probe()/->remove()

From: Thierry Reding <[email-masked]>
Date: Mon, 26 Nov 2018 16:34:19 +0100

On Fri, Nov 23, 2018 at 12:44:02PM +0000, Jose Abreu wrote:
> On 23-11-2018 12:21, Thierry Reding wrote:
> > From: Thierry Reding <[email-masked]>
> >
> > 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.
> >
> > Signed-off-by: Thierry Reding <[email-masked]>
> > ---
> >
> 
> Did you test trying to dump "descriptors_status" file when
> interface is not open ? I think that's the main reason why this
> is not in probe ...

Indeed, that seems to cause a hang. Still, it doesn't sound like the
right things to repeatedly create and remove debugfs files just because
we can't provide the contents when the device is down.

How about we return an empty file or an error code instead when the
interface is down?

Thierry