Messages in this thread | | | Date | Sat, 9 Feb 2013 11:35:39 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 20/25] wimax/i2400m: fix i2400m->wake_tx_skb handling |
| |
On Fri, Jan 04, 2013 at 03:19:55PM -0600, Dan Williams wrote: > On Fri, 2012-12-21 at 17:57 -0800, Tejun Heo wrote: > > i2400m_net_wake_tx() sets ->wake_tx_skb with the given skb if > > ->wake_tx_ws is not pending; however, i2400m_wake_tx_work() could have > > just started execution and haven't fetched -><wake_tx_skb yet. The > > previous packet will be leaked. > > > > Update ->wake_tx_skb handling. > > > > * i2400m_net_wake_tx() now tests whether the previous ->wake_tx_skb > > has been consumed by ->wake_tx_ws instead of testing work_pending(). > > > > * i2400m_net_wake_stop() is simplified similarly. It always puts > > ->wake_tx_skb if non-NULL. > > > > * Spurious ->wake_tx_skb dereference outside critical section dropped > > from i2400m_wake_tx_work(). > > > > Only compile tested. > > > > Signed-off-by: Tejun Heo <tj@kernel.org> > > Acked-by: Dan Williams <dcbw@redhat.com> > > No regressions in a quick connection check to Clear and browsing a bunch > of pages.
Applied to wq/for-3.9-cleanups.
Thanks!
-- tejun
| |