[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