diff options
Diffstat (limited to 'arch/arm/mach-at91/pm.c')
| -rw-r--r-- | arch/arm/mach-at91/pm.c | 20 | 
1 files changed, 9 insertions, 11 deletions
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index 60dc56d8acfb..437dd0352fd4 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -334,16 +334,14 @@ static bool at91_pm_eth_quirk_is_valid(struct at91_pm_quirk_eth *eth)  		pdev = of_find_device_by_node(eth->np);  		if (!pdev)  			return false; +		/* put_device(eth->dev) is called at the end of suspend. */  		eth->dev = &pdev->dev;  	}  	/* No quirks if device isn't a wakeup source. */ -	if (!device_may_wakeup(eth->dev)) { -		put_device(eth->dev); +	if (!device_may_wakeup(eth->dev))  		return false; -	} -	/* put_device(eth->dev) is called at the end of suspend. */  	return true;  } @@ -439,14 +437,14 @@ clk_unconfigure:  				pr_err("AT91: PM: failed to enable %s clocks\n",  				       j == AT91_PM_G_ETH ? "geth" : "eth");  			} -		} else { -			/* -			 * Release the reference to eth->dev taken in -			 * at91_pm_eth_quirk_is_valid(). -			 */ -			put_device(eth->dev); -			eth->dev = NULL;  		} + +		/* +		 * Release the reference to eth->dev taken in +		 * at91_pm_eth_quirk_is_valid(). +		 */ +		put_device(eth->dev); +		eth->dev = NULL;  	}  	return ret;  |