[PATCH] libertas: detect TX lockups and reset hardware

John W. Linville linville at tuxdriver.com
Fri Sep 30 15:15:47 EDT 2011


On Wed, Sep 21, 2011 at 04:30:17PM +0100, Daniel Drake wrote:
> Recent patches added support for resetting the SD8686 hardware when
> commands time out, which seems to happen quite frequently soon after
> resuming the system from a Wake-on-WLAN-triggered resume.
> 
> At http://dev.laptop.org/ticket/10969 we see the same thing happen
> with transmits. In this case, the hardware will fail to respond to
> a frame passed for transmission, and libertas (correctly) will block
> all further commands and transmissions as the hardware can only
> deal with one thing at a time. This results in a lockup while the
> system waits indefinitely for the dead card to respond.
> 
> Hook up a TX lockup timer to detect this and reset the hardware.
> 
> Signed-off-by: Daniel Drake <dsd at laptop.org>

> @@ -995,6 +1029,7 @@ void lbs_stop_card(struct lbs_private *priv)
>  
>  	/* Delete the timeout of the currently processing command */
>  	del_timer_sync(&priv->command_timer);
> +	del_timer_sync(&priv->tx_lockup_timer);
>  	del_timer_sync(&priv->auto_deepsleep_timer);
>  
>  	/* Flush pending command nodes */

This hunk doesn't apply.  What tree are you using as a base?

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville at tuxdriver.com			might be all we have.  Be ready.



More information about the libertas-dev mailing list