Commit 864c5a4d authored by David S. Miller's avatar David S. Miller

Merge branch 'fixes-davem' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6

parents 14ae8566 f27b62d3
...@@ -271,9 +271,11 @@ static void add_files(struct ieee80211_sub_if_data *sdata) ...@@ -271,9 +271,11 @@ static void add_files(struct ieee80211_sub_if_data *sdata)
} }
} }
#define DEBUGFS_DEL(name, type)\ #define DEBUGFS_DEL(name, type) \
debugfs_remove(sdata->debugfs.type.name);\ do { \
sdata->debugfs.type.name = NULL; debugfs_remove(sdata->debugfs.type.name); \
sdata->debugfs.type.name = NULL; \
} while (0)
static void del_sta_files(struct ieee80211_sub_if_data *sdata) static void del_sta_files(struct ieee80211_sub_if_data *sdata)
{ {
......
...@@ -157,7 +157,7 @@ static ssize_t sta_last_seq_ctrl_read(struct file *file, char __user *userbuf, ...@@ -157,7 +157,7 @@ static ssize_t sta_last_seq_ctrl_read(struct file *file, char __user *userbuf,
struct sta_info *sta = file->private_data; struct sta_info *sta = file->private_data;
for (i = 0; i < NUM_RX_DATA_QUEUES; i++) for (i = 0; i < NUM_RX_DATA_QUEUES; i++)
p += scnprintf(p, sizeof(buf)+buf-p, "%x ", p += scnprintf(p, sizeof(buf)+buf-p, "%x ",
sta->last_seq_ctrl[i]); le16_to_cpu(sta->last_seq_ctrl[i]));
p += scnprintf(p, sizeof(buf)+buf-p, "\n"); p += scnprintf(p, sizeof(buf)+buf-p, "\n");
return simple_read_from_buffer(userbuf, count, ppos, buf, p - buf); return simple_read_from_buffer(userbuf, count, ppos, buf, p - buf);
} }
......
...@@ -1650,6 +1650,7 @@ static int ieee80211_master_start_xmit(struct sk_buff *skb, ...@@ -1650,6 +1650,7 @@ static int ieee80211_master_start_xmit(struct sk_buff *skb,
if (skb_headroom(skb) < headroom) { if (skb_headroom(skb) < headroom) {
if (pskb_expand_head(skb, headroom, 0, GFP_ATOMIC)) { if (pskb_expand_head(skb, headroom, 0, GFP_ATOMIC)) {
dev_kfree_skb(skb); dev_kfree_skb(skb);
dev_put(odev);
return 0; return 0;
} }
} }
......
...@@ -697,17 +697,24 @@ static int ieee80211_ioctl_siwscan(struct net_device *dev, ...@@ -697,17 +697,24 @@ static int ieee80211_ioctl_siwscan(struct net_device *dev,
if (!netif_running(dev)) if (!netif_running(dev))
return -ENETDOWN; return -ENETDOWN;
if (local->scan_flags & IEEE80211_SCAN_MATCH_SSID) { switch (sdata->type) {
if (sdata->type == IEEE80211_IF_TYPE_STA || case IEEE80211_IF_TYPE_STA:
sdata->type == IEEE80211_IF_TYPE_IBSS) { case IEEE80211_IF_TYPE_IBSS:
if (local->scan_flags & IEEE80211_SCAN_MATCH_SSID) {
ssid = sdata->u.sta.ssid; ssid = sdata->u.sta.ssid;
ssid_len = sdata->u.sta.ssid_len; ssid_len = sdata->u.sta.ssid_len;
} else if (sdata->type == IEEE80211_IF_TYPE_AP) { }
break;
case IEEE80211_IF_TYPE_AP:
if (local->scan_flags & IEEE80211_SCAN_MATCH_SSID) {
ssid = sdata->u.ap.ssid; ssid = sdata->u.ap.ssid;
ssid_len = sdata->u.ap.ssid_len; ssid_len = sdata->u.ap.ssid_len;
} else }
return -EINVAL; break;
default:
return -EOPNOTSUPP;
} }
return ieee80211_sta_req_scan(dev, ssid, ssid_len); return ieee80211_sta_req_scan(dev, ssid, ssid_len);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment