From patchwork Tue Jan 5 18:17:10 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kalle Valo X-Patchwork-Id: 71087 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o05IHGJI028196 for ; Tue, 5 Jan 2010 18:17:16 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755179Ab0AESRO (ORCPT ); Tue, 5 Jan 2010 13:17:14 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755177Ab0AESRO (ORCPT ); Tue, 5 Jan 2010 13:17:14 -0500 Received: from emh01.mail.saunalahti.fi ([62.142.5.107]:37189 "EHLO emh01.mail.saunalahti.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755157Ab0AESRN (ORCPT ); Tue, 5 Jan 2010 13:17:13 -0500 Received: from saunalahti-vams (vs3-12.mail.saunalahti.fi [62.142.5.96]) by emh01-2.mail.saunalahti.fi (Postfix) with SMTP id 925618C4B9 for ; Tue, 5 Jan 2010 20:17:11 +0200 (EET) Received: from emh06.mail.saunalahti.fi ([62.142.5.116]) by vs3-12.mail.saunalahti.fi ([62.142.5.96]) with SMTP (gateway) id A00FF5620B6; Tue, 05 Jan 2010 20:17:11 +0200 Received: from [127.0.1.1] (a91-155-131-184.elisa-laajakaista.fi [91.155.131.184]) by emh06.mail.saunalahti.fi (Postfix) with ESMTP id 80CCCE51B7 for ; Tue, 5 Jan 2010 20:17:10 +0200 (EET) Subject: [PATCH v2 9/9] wl1251: fix sleep related error paths in wl1251_op_bss_info_changed() To: linux-wireless@vger.kernel.org From: Kalle Valo Date: Tue, 05 Jan 2010 20:17:10 +0200 Message-ID: <20100105181710.27418.86464.stgit@tikku> In-Reply-To: <20100105181522.27418.97100.stgit@tikku> References: <20100105181522.27418.97100.stgit@tikku> User-Agent: StGit/0.15 MIME-Version: 1.0 X-Antivirus: VAMS Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org diff --git a/drivers/net/wireless/wl12xx/wl1251_main.c b/drivers/net/wireless/wl12xx/wl1251_main.c index 4728983..f17ce06 100644 --- a/drivers/net/wireless/wl12xx/wl1251_main.c +++ b/drivers/net/wireless/wl12xx/wl1251_main.c @@ -946,7 +946,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw, skb->data, skb->len); dev_kfree_skb(skb); if (ret < 0) - goto out; + goto out_sleep; if (wl->bss_type != BSS_TYPE_IBSS) { ret = wl1251_join(wl, wl->bss_type, wl->channel, @@ -1018,7 +1018,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw, ret = wl1251_acx_cts_protect(wl, CTSPROTECT_DISABLE); if (ret < 0) { wl1251_warning("Set ctsprotect failed %d", ret); - goto out; + goto out_sleep; } } @@ -1029,7 +1029,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw, if (ret < 0) { dev_kfree_skb(beacon); - goto out; + goto out_sleep; } ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, beacon->data, @@ -1038,13 +1038,13 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw, dev_kfree_skb(beacon); if (ret < 0) - goto out; + goto out_sleep; ret = wl1251_join(wl, wl->bss_type, wl->beacon_int, wl->channel, wl->dtim_period); if (ret < 0) - goto out; + goto out_sleep; } out_sleep: