Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 327648
b: refs/heads/master
c: f609a43
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Pedersen authored and Johannes Berg committed Aug 3, 2012
1 parent 05535b9 commit d432e4d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e7570dfb635b0c89570852002c9f85dd1cf82ba1
refs/heads/master: f609a43dca2964a8a604ef554be92fa11c3b4c41
17 changes: 11 additions & 6 deletions trunk/net/mac80211/mesh_plink.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
u8 *pos, ie_len = 4;
int hdr_len = offsetof(struct ieee80211_mgmt, u.action.u.self_prot) +
sizeof(mgmt->u.action.u.self_prot);
int err = -ENOMEM;

skb = dev_alloc_skb(local->tx_headroom +
hdr_len +
Expand Down Expand Up @@ -267,11 +268,11 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
mesh_add_rsn_ie(skb, sdata) ||
mesh_add_meshid_ie(skb, sdata) ||
mesh_add_meshconf_ie(skb, sdata))
return -1;
goto free;
} else { /* WLAN_SP_MESH_PEERING_CLOSE */
info->flags |= IEEE80211_TX_CTL_NO_ACK;
if (mesh_add_meshid_ie(skb, sdata))
return -1;
goto free;
}

/* Add Mesh Peering Management element */
Expand All @@ -290,11 +291,12 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
ie_len += 2; /* reason code */
break;
default:
return -EINVAL;
err = -EINVAL;
goto free;
}

if (WARN_ON(skb_tailroom(skb) < 2 + ie_len))
return -ENOMEM;
goto free;

pos = skb_put(skb, 2 + ie_len);
*pos++ = WLAN_EID_PEER_MGMT;
Expand All @@ -315,14 +317,17 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
if (action != WLAN_SP_MESH_PEERING_CLOSE) {
if (mesh_add_ht_cap_ie(skb, sdata) ||
mesh_add_ht_oper_ie(skb, sdata))
return -1;
goto free;
}

if (mesh_add_vendor_ies(skb, sdata))
return -1;
goto free;

ieee80211_tx_skb(sdata, skb);
return 0;
free:
kfree_skb(skb);
return err;
}

/**
Expand Down

0 comments on commit d432e4d

Please sign in to comment.