diff mbox

[1/6] mac80211: unset FC retry bit in mesh fwding path

Message ID 1365444377-9959-1-git-send-email-thomas@cozybit.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Thomas Pedersen April 8, 2013, 6:06 p.m. UTC
Otherwise forwarded frames would keep the retry bit set
from the previous link transmission.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
---
 net/mac80211/rx.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Joe Perches April 8, 2013, 9:27 p.m. UTC | #1
On Mon, 2013-04-08 at 11:06 -0700, Thomas Pedersen wrote:
> The patch "mac80211: stringify mesh peering events" missed
> an opportunity to print the peering state as a string.

Perhaps it's better to use functions for these instead of
indexing in case an index is somehow incorrectly set.

> diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
[]
> @@ -544,8 +544,8 @@ static void mesh_plink_timer(unsigned long data)
>  		return;
>  	}
>  	mpl_dbg(sta->sdata,
> -		"Mesh plink timer for %pM fired on state %d\n",
> -		sta->sta.addr, sta->plink_state);
> +		"Mesh plink timer for %pM fired on state %s\n",
> +		sta->sta.addr, mplstates[sta->plink_state]);



--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Johannes Berg April 9, 2013, 9:39 a.m. UTC | #2
On Mon, 2013-04-08 at 11:06 -0700, Thomas Pedersen wrote:
> Otherwise forwarded frames would keep the retry bit set
> from the previous link transmission.

Applied.

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 5b4492a..5168f89 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -2085,6 +2085,7 @@  ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
 	}
 
 	fwd_hdr =  (struct ieee80211_hdr *) fwd_skb->data;
+	fwd_hdr->frame_control &= ~cpu_to_le16(IEEE80211_FCTL_RETRY);
 	info = IEEE80211_SKB_CB(fwd_skb);
 	memset(info, 0, sizeof(*info));
 	info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;