Browse Source

[PATCH] libertas: properly end commands on hardware failure

Make sure that errors reported by the hardware layer is properly
handled. Otherwise commands tend to get stuck in limbo.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pierre Ossman 18 years ago
parent
commit
794760f750
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/net/wireless/libertas/cmd.c

+ 2 - 0
drivers/net/wireless/libertas/cmd.c

@@ -1009,7 +1009,9 @@ static int DownloadcommandToStation(wlan_private * priv,
 	if (ret != 0) {
 		lbs_deb_host("DNLD_CMD: hw_host_to_card failed\n");
 		spin_lock_irqsave(&adapter->driver_lock, flags);
+		adapter->cur_cmd_retcode = ret;
 		__libertas_cleanup_and_insert_cmd(priv, adapter->cur_cmd);
+		adapter->nr_cmd_pending--;
 		adapter->cur_cmd = NULL;
 		spin_unlock_irqrestore(&adapter->driver_lock, flags);
 		goto done;