Эх сурвалжийг харах

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>
NeilBrown 11 жил өмнө
parent
commit
d94248ac2a

+ 1 - 1
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;
 			card->started = true;
 			/* Tell PM core that we don't need the card to be
 			/* Tell PM core that we don't need the card to be
 			 * powered now */
 			 * powered now */
-			pm_runtime_put_noidle(&func->dev);
+			pm_runtime_put(&func->dev);
 		}
 		}
 	}
 	}