Aaron Durbin 189b3299fe mwifiex: don't leak DMA command skbuffs
The current mwifiex pcie driver assumed that it would get
its cmdrsp_complete() callback called before another command
was sent to unmap the command's skbuff. However, that is not
true. The mwifiex_check_ps_cond() will send a sleep command
to the card without having adapter->curr_cmd set. Within the
workqueue's state machine the adapter's state would be set
to allow commands (curr_cmd = NULL && cmd_sent = false) after
having receieved the response from the sleep command. The
card->cmd_buf would then be overridden with the new command
but the first command's skbuff was not unmapped. This leaks
mapped skbuffs when a bounce buffer is employed.

To rectify this unmap the card->cmd_buf when the response is
received from the card instead of waiting for the
cmdrsp_complete() callback.

Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-02-12 15:36:15 -05:00
..
2014-01-25 13:18:00 -08:00
2014-02-05 16:01:11 -08:00
2014-02-09 15:21:16 -05:00
2014-01-23 18:49:36 -08:00
2014-01-23 18:49:36 -08:00
2014-01-29 20:00:13 -08:00
2014-01-25 13:19:10 -08:00
2014-01-26 11:00:41 -08:00
2014-01-12 23:48:18 +01:00
2014-01-15 14:51:22 -08:00
2014-01-27 08:15:51 -08:00
2014-01-22 22:24:35 -08:00
2014-02-05 16:01:11 -08:00