wilc1000: Fix spurious "FW not responding" error
authorDavid Mosberger-Tang <davidm@egauge.net>
Wed, 8 Dec 2021 06:27:55 +0000 (06:27 +0000)
committerKalle Valo <kvalo@kernel.org>
Tue, 14 Dec 2021 18:45:27 +0000 (20:45 +0200)
When deinitializing the driver, one or more "FW not responding" error
appears on the console.  This appears to be due to wilc_wlan_stop()
disabling host/WILC1000 communication, but then right afterwards, it
tries to release the bus with chip-sleep enabled.  The problem is
enabling the chip-sleep cannot success once host/WILC1000
communication is disabled.  Fix by only releasing the bus.

Signed-off-by: David Mosberger-Tang <davidm@egauge.net>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20211208062747.3405221-1-davidm@egauge.net
drivers/net/wireless/microchip/wilc1000/wlan.c

index 8256654..1aa4236 100644 (file)
@@ -1224,7 +1224,8 @@ int wilc_wlan_stop(struct wilc *wilc, struct wilc_vif *vif)
 
        ret = 0;
 release:
-       release_bus(wilc, WILC_BUS_RELEASE_ALLOW_SLEEP);
+       /* host comm is disabled - we can't issue sleep command anymore: */
+       release_bus(wilc, WILC_BUS_RELEASE_ONLY);
 
        return ret;
 }