diff options
author | NeilBrown <neilb@suse.de> | 2013-10-24 18:33:33 +1100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-12-05 14:32:32 -0500 |
commit | d94248ac2aef78e39a76321458a78ba7805dba2e (patch) | |
tree | 84e9129d10c24e519ba136bdda95783161f42c0d /drivers/net/wireless/libertas/if_sdio.c | |
parent | c8520bcb784df69cf5960308846253814ec45db7 (diff) |
libertas/sdio: make sure card enters power-off when firmware is loaded.
Since firmware loading became async it is possible that if_sdio_finish_power_of
is called with only one remaining runtime_pm reference, so it isn't safe
to call pm_runtime_put_noidle. We must call pm_runtime_put().
Diagnosed-by: "Dr. H. Nikolaus Schaller" <hns@goldelico.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/if_sdio.c')
-rw-r--r-- | drivers/net/wireless/libertas/if_sdio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 991238afd1b6..828e7f4fc633 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c @@ -849,7 +849,7 @@ static void if_sdio_finish_power_on(struct if_sdio_card *card) card->started = true; /* Tell PM core that we don't need the card to be * powered now */ - pm_runtime_put_noidle(&func->dev); + pm_runtime_put(&func->dev); } } |