[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>
This commit is contained in:
Pierre Ossman 2007-08-20 12:24:42 -04:00 committed by David S. Miller
parent b6e99dd6e2
commit 794760f750
1 changed files with 2 additions and 0 deletions

View File

@ -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;