Re: [PATCH] net: ethernet : stmicro: fixed power suspend and resume failure in stmmac driver

From: David Miller
Date: Tue Sep 30 2014 - 15:11:04 EST

From: <hliang1025@xxxxxxxxx>
Date: Tue, 30 Sep 2014 13:55:34 +0800

> From: Hao Liang <hliang1025@xxxxxxxxx>
> This is the fix for a power management issue caused by suspend and resume function in stmmac_main.c.
> After enable CONFIG_DEBUG_ATOMIC_SLEEP which enable sleep-inside atomic section checking, power
> managemet can not work normally. Board couldn't wakeup successfully after suspend. Command
> "echo mem > /sys/power/state" suspend the board.
> In suspend and resume function of stmmac driver, there are some sleep-inside function in atomic section
> created by spin lock. These functions will causes system warnings and wakeup issue when enable
> This bug was fixed by:
> * replace some sleep function with non-sleep function
> clk_disable_unprepare -> clk_disable ...
> * decrease the atomic area created by spin lock function. The original atomic area in resume function is
> too large.
> Signed-off-by: Hao Liang <hliang1025@xxxxxxxxx>

I really think the ->mac->xxx calls need to be under the lock, and therefore this
spinlock region shortening is not valid.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at