libertas: Add reset_card() callback to hardware driver

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index db246d0..804da36 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -787,6 +787,11 @@
 					    le16_to_cpu(cmdnode->cmdbuf->command));
 				lbs_complete_command(priv, cmdnode, -ETIMEDOUT);
 				priv->nr_retries = 0;
+				if (priv->reset_card) {
+					spin_unlock_irq(&priv->driver_lock);
+					priv->reset_card(priv);
+					spin_lock_irq(&priv->driver_lock);
+				}
 			} else {
 				priv->cur_cmd = NULL;
 				lbs_pr_info("requeueing command %x due to timeout (#%d)\n",