aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/libertas/dev.h1
-rw-r--r--drivers/net/wireless/libertas/main.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/dev.h b/drivers/net/wireless/libertas/dev.h
index e12ce6506729..0a9fc5136783 100644
--- a/drivers/net/wireless/libertas/dev.h
+++ b/drivers/net/wireless/libertas/dev.h
@@ -153,6 +153,7 @@ struct lbs_private {
153 153
154 /** Hardware access */ 154 /** Hardware access */
155 int (*hw_host_to_card) (struct lbs_private *priv, u8 type, u8 *payload, u16 nb); 155 int (*hw_host_to_card) (struct lbs_private *priv, u8 type, u8 *payload, u16 nb);
156 void (*reset_card) (struct lbs_private *priv);
156 157
157 /* Wake On LAN */ 158 /* Wake On LAN */
158 uint32_t wol_criteria; 159 uint32_t wol_criteria;
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index db246d0a1eda..804da368416f 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -787,6 +787,11 @@ static int lbs_thread(void *data)
787 le16_to_cpu(cmdnode->cmdbuf->command)); 787 le16_to_cpu(cmdnode->cmdbuf->command));
788 lbs_complete_command(priv, cmdnode, -ETIMEDOUT); 788 lbs_complete_command(priv, cmdnode, -ETIMEDOUT);
789 priv->nr_retries = 0; 789 priv->nr_retries = 0;
790 if (priv->reset_card) {
791 spin_unlock_irq(&priv->driver_lock);
792 priv->reset_card(priv);
793 spin_lock_irq(&priv->driver_lock);
794 }
790 } else { 795 } else {
791 priv->cur_cmd = NULL; 796 priv->cur_cmd = NULL;
792 lbs_pr_info("requeueing command %x due to timeout (#%d)\n", 797 lbs_pr_info("requeueing command %x due to timeout (#%d)\n",