Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit edf5dabf authored by David Woodhouse's avatar David Woodhouse Committed by John W. Linville
Browse files

libertas: Add reset_card() callback to hardware driver

parent 15dbaac0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -153,6 +153,7 @@ struct lbs_private {


	/** Hardware access */
	/** Hardware access */
	int (*hw_host_to_card) (struct lbs_private *priv, u8 type, u8 *payload, u16 nb);
	int (*hw_host_to_card) (struct lbs_private *priv, u8 type, u8 *payload, u16 nb);
	void (*reset_card) (struct lbs_private *priv);


	/* Wake On LAN */
	/* Wake On LAN */
	uint32_t wol_criteria;
	uint32_t wol_criteria;
+5 −0
Original line number Original line Diff line number Diff line
@@ -787,6 +787,11 @@ static int lbs_thread(void *data)
					    le16_to_cpu(cmdnode->cmdbuf->command));
					    le16_to_cpu(cmdnode->cmdbuf->command));
				lbs_complete_command(priv, cmdnode, -ETIMEDOUT);
				lbs_complete_command(priv, cmdnode, -ETIMEDOUT);
				priv->nr_retries = 0;
				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 {
			} else {
				priv->cur_cmd = NULL;
				priv->cur_cmd = NULL;
				lbs_pr_info("requeueing command %x due to timeout (#%d)\n",
				lbs_pr_info("requeueing command %x due to timeout (#%d)\n",