aboutsummaryrefslogtreecommitdiff
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-09-13 15:41:16 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-13 15:41:16 -0400
commitb4d3de8ca25fcdf697da38d9f9785cb508edea4d (patch)
tree8d2940fab556b05f4f1c7980c611211ffaa0f025 /net/mac80211
parent3857e3ee2209b7289c434103e366f765ec82a22d (diff)
parent2fa8b6a0e42570690a48a56cb65778211e3cc9cc (diff)
Merge branch 'master' of git://git.infradead.org/users/linville/wireless-next into for-davem
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/debugfs.c14
-rw-r--r--net/mac80211/mesh_pathtbl.c8
2 files changed, 7 insertions, 15 deletions
diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c
index 186e02f7cc3..267ed45ef6a 100644
--- a/net/mac80211/debugfs.c
+++ b/net/mac80211/debugfs.c
@@ -195,20 +195,12 @@ static ssize_t uapsd_queues_write(struct file *file,
size_t count, loff_t *ppos)
{
struct ieee80211_local *local = file->private_data;
- unsigned long val;
- char buf[10];
- size_t len;
+ u8 val;
int ret;
- len = min(count, sizeof(buf) - 1);
- if (copy_from_user(buf, user_buf, len))
- return -EFAULT;
- buf[len] = '\0';
-
- ret = strict_strtoul(buf, 0, &val);
-
+ ret = kstrtou8_from_user(user_buf, count, 0, &val);
if (ret)
- return -EINVAL;
+ return ret;
if (val & ~IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK)
return -ERANGE;
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
index 7fde32159fd..f97d17cb073 100644
--- a/net/mac80211/mesh_pathtbl.c
+++ b/net/mac80211/mesh_pathtbl.c
@@ -307,14 +307,14 @@ static void mesh_path_move_to_queue(struct mesh_path *gate_mpath,
while (num_skbs--) {
skb = __skb_dequeue(&failq);
- if (copy)
+ if (copy) {
cp_skb = skb_copy(skb, GFP_ATOMIC);
+ if (cp_skb)
+ __skb_queue_tail(&failq, cp_skb);
+ }
prepare_for_gate(skb, gate_mpath->dst, gate_mpath);
__skb_queue_tail(&gateq, skb);
-
- if (copy && cp_skb)
- __skb_queue_tail(&failq, cp_skb);
}
spin_lock_irqsave(&gate_mpath->frame_queue.lock, flags);