diff options
Diffstat (limited to 'drivers/net/wireless/libertas')
| -rw-r--r-- | drivers/net/wireless/libertas/if_sdio.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 739309e70d8b..45578335e420 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c | |||
| @@ -825,6 +825,11 @@ static void if_sdio_finish_power_on(struct if_sdio_card *card) | |||
| 825 | 825 | ||
| 826 | sdio_release_host(func); | 826 | sdio_release_host(func); |
| 827 | 827 | ||
| 828 | /* Set fw_ready before queuing any commands so that | ||
| 829 | * lbs_thread won't block from sending them to firmware. | ||
| 830 | */ | ||
| 831 | priv->fw_ready = 1; | ||
| 832 | |||
| 828 | /* | 833 | /* |
| 829 | * FUNC_INIT is required for SD8688 WLAN/BT multiple functions | 834 | * FUNC_INIT is required for SD8688 WLAN/BT multiple functions |
| 830 | */ | 835 | */ |
| @@ -839,7 +844,6 @@ static void if_sdio_finish_power_on(struct if_sdio_card *card) | |||
| 839 | netdev_alert(priv->dev, "CMD_FUNC_INIT cmd failed\n"); | 844 | netdev_alert(priv->dev, "CMD_FUNC_INIT cmd failed\n"); |
| 840 | } | 845 | } |
| 841 | 846 | ||
| 842 | priv->fw_ready = 1; | ||
| 843 | wake_up(&card->pwron_waitq); | 847 | wake_up(&card->pwron_waitq); |
| 844 | 848 | ||
| 845 | if (!card->started) { | 849 | if (!card->started) { |
