aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/wilc1000/wilc_wlan.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
index 0a713409ea98..95eaf8fdf4f2 100644
--- a/drivers/staging/wilc1000/wilc_wlan.c
+++ b/drivers/staging/wilc1000/wilc_wlan.c
@@ -1076,13 +1076,17 @@ void wilc_wlan_cleanup(struct net_device *dev)
1076 acquire_bus(wilc, WILC_BUS_ACQUIRE_AND_WAKEUP); 1076 acquire_bus(wilc, WILC_BUS_ACQUIRE_AND_WAKEUP);
1077 1077
1078 ret = wilc->hif_func->hif_read_reg(wilc, WILC_GP_REG_0, &reg); 1078 ret = wilc->hif_func->hif_read_reg(wilc, WILC_GP_REG_0, &reg);
1079 if (!ret) 1079 if (!ret) {
1080 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP); 1080 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP);
1081 return;
1082 }
1081 1083
1082 ret = wilc->hif_func->hif_write_reg(wilc, WILC_GP_REG_0, 1084 ret = wilc->hif_func->hif_write_reg(wilc, WILC_GP_REG_0,
1083 (reg | ABORT_INT)); 1085 (reg | ABORT_INT));
1084 if (!ret) 1086 if (!ret) {
1085 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP); 1087 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP);
1088 return;
1089 }
1086 1090
1087 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP); 1091 release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP);
1088 wilc->hif_func->hif_deinit(NULL); 1092 wilc->hif_func->hif_deinit(NULL);