From 97e378697cbb1034b1be10117946212314900774 Mon Sep 17 00:00:00 2001 From: Eliad Peller Date: Wed, 25 Jul 2012 14:22:21 +0300 Subject: [PATCH] --- yaml --- r: 328330 b: refs/heads/master c: 9b1a0a7771a62c3af4dce83e7cfd199367bd84ff h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ti/wlcore/main.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c5488a86425b..49cf24bd5042 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e1c497c3e4b79feea3d587c8ca76fb437c1b2495 +refs/heads/master: 9b1a0a7771a62c3af4dce83e7cfd199367bd84ff diff --git a/trunk/drivers/net/wireless/ti/wlcore/main.c b/trunk/drivers/net/wireless/ti/wlcore/main.c index 600af8e81904..f421c42b32ea 100644 --- a/trunk/drivers/net/wireless/ti/wlcore/main.c +++ b/trunk/drivers/net/wireless/ti/wlcore/main.c @@ -696,7 +696,7 @@ static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt) * we can't call wl12xx_get_vif_count() here because * wl->mutex is taken, so use the cached last_vif_count value */ - if (wl->last_vif_count > 1) { + if (wl->last_vif_count > 1 && wl->mr_fw_name) { fw_type = WL12XX_FW_TYPE_MULTI; fw_name = wl->mr_fw_name; } else { @@ -2170,6 +2170,10 @@ static bool wl12xx_need_fw_change(struct wl1271 *wl, if (wl->state == WL1271_STATE_OFF) return false; + /* no need for fw change if a single fw is used */ + if (!wl->mr_fw_name) + return false; + if (vif_count > 1 && current_fw == WL12XX_FW_TYPE_NORMAL) return true; if (vif_count <= 1 && current_fw == WL12XX_FW_TYPE_MULTI)