From 0ac31e065ef43958023046791659da64b4e05f53 Mon Sep 17 00:00:00 2001 From: Ido Yariv Date: Wed, 15 Aug 2012 18:29:04 +0300 Subject: [PATCH] --- yaml --- r: 328351 b: refs/heads/master c: a8311c8a9a7c41de9cc2d5e1573ff7005b4959ab h: refs/heads/master i: 328349: aef178087548506c0369df5585efd88581634ab0 328347: dad87499efc5525c552ba25fe643d4ec85cdc165 328343: d588ecd28c5260e429a4b52122b424c32672caab 328335: 05c09de499ff21071be30954a4e0707ece6aa04f 328319: 5b6bc56cffff3cb229646b544f615dea4f0f10b7 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ti/wl12xx/main.c | 9 ++++++++- trunk/drivers/net/wireless/ti/wl18xx/main.c | 7 +++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index aa49ab61f56d..793fc6cf7c96 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 792a58a8720f02c8f340583f6ee54c9eb46adf0b +refs/heads/master: a8311c8a9a7c41de9cc2d5e1573ff7005b4959ab diff --git a/trunk/drivers/net/wireless/ti/wl12xx/main.c b/trunk/drivers/net/wireless/ti/wl12xx/main.c index f49ce7c633b6..630b4d4cea04 100644 --- a/trunk/drivers/net/wireless/ti/wl12xx/main.c +++ b/trunk/drivers/net/wireless/ti/wl12xx/main.c @@ -1184,9 +1184,16 @@ static int wl12xx_enable_interrupts(struct wl1271 *wl) ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, WL1271_ACX_INTR_ALL & ~(WL12XX_INTR_MASK)); if (ret < 0) - goto out; + goto disable_interrupts; ret = wlcore_write32(wl, WL12XX_HI_CFG, HI_CFG_DEF_VAL); + if (ret < 0) + goto disable_interrupts; + + return ret; + +disable_interrupts: + wlcore_disable_interrupts(wl); out: return ret; diff --git a/trunk/drivers/net/wireless/ti/wl18xx/main.c b/trunk/drivers/net/wireless/ti/wl18xx/main.c index fa7e6ef3f6a2..9bf2d8755c5b 100644 --- a/trunk/drivers/net/wireless/ti/wl18xx/main.c +++ b/trunk/drivers/net/wireless/ti/wl18xx/main.c @@ -811,6 +811,13 @@ static int wl18xx_enable_interrupts(struct wl1271 *wl) ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, WL1271_ACX_INTR_ALL & ~intr_mask); + if (ret < 0) + goto disable_interrupts; + + return ret; + +disable_interrupts: + wlcore_disable_interrupts(wl); out: return ret;