On Mon, 2009-07-06 at 17:52 -0700, javier@xxxxxxxxxxx wrote: > From: Javier Cardona <javier@xxxxxxxxxxx> > > The removal of the master netdev broke the mesh forwarding path. This patch > fixes it by using the new internal 'pending' queue. Sorry, never tested mesh recently. > As a result of this change, mesh forwarding no longer does the inefficient > 802.11 -> 802.3 -> 802.11 conversion that was done before. That sounds good! > while ((skb = skb_dequeue(&mpath->frame_queue)) && > - (mpath->flags & MESH_PATH_ACTIVE)) > - dev_queue_xmit(skb); > + (mpath->flags & MESH_PATH_ACTIVE)) { > + ieee80211_select_queue(mpath->sdata->local, skb); > + ieee80211_add_pending_skb(mpath->sdata->local, skb); > + } That does a lot of locking operations -- can you not select the queue earlier, and use ieee80211_add_pending_skbs? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part