diff options
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/nl80211.c | 3 | ||||
-rw-r--r-- | net/wireless/scan.c | 4 | ||||
-rw-r--r-- | net/wireless/sme.c | 3 |
3 files changed, 4 insertions, 6 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index b3d5c1df08dd..667a87d307da 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -3002,10 +3002,9 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info) | |||
3002 | goto out; | 3002 | goto out; |
3003 | } | 3003 | } |
3004 | 3004 | ||
3005 | request->channels = (void *)((char *)request + sizeof(*request)); | ||
3006 | request->n_channels = n_channels; | 3005 | request->n_channels = n_channels; |
3007 | if (n_ssids) | 3006 | if (n_ssids) |
3008 | request->ssids = (void *)(request->channels + n_channels); | 3007 | request->ssids = (void *)&request->channels[n_channels]; |
3009 | request->n_ssids = n_ssids; | 3008 | request->n_ssids = n_ssids; |
3010 | if (ie_len) { | 3009 | if (ie_len) { |
3011 | if (request->ssids) | 3010 | if (request->ssids) |
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 1bcb1312bd94..e6c1f11595da 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -612,8 +612,8 @@ int cfg80211_wext_siwscan(struct net_device *dev, | |||
612 | 612 | ||
613 | creq->wiphy = wiphy; | 613 | creq->wiphy = wiphy; |
614 | creq->dev = dev; | 614 | creq->dev = dev; |
615 | creq->ssids = (void *)(creq + 1); | 615 | /* SSIDs come after channels */ |
616 | creq->channels = (void *)(creq->ssids + 1); | 616 | creq->ssids = (void *)&creq->channels[n_channels]; |
617 | creq->n_channels = n_channels; | 617 | creq->n_channels = n_channels; |
618 | creq->n_ssids = 1; | 618 | creq->n_ssids = 1; |
619 | 619 | ||
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 104b33e34d22..8e2ef54ea714 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c | |||
@@ -65,7 +65,6 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev) | |||
65 | if (!request) | 65 | if (!request) |
66 | return -ENOMEM; | 66 | return -ENOMEM; |
67 | 67 | ||
68 | request->channels = (void *)((char *)request + sizeof(*request)); | ||
69 | if (wdev->conn->params.channel) | 68 | if (wdev->conn->params.channel) |
70 | request->channels[0] = wdev->conn->params.channel; | 69 | request->channels[0] = wdev->conn->params.channel; |
71 | else { | 70 | else { |
@@ -82,7 +81,7 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev) | |||
82 | } | 81 | } |
83 | } | 82 | } |
84 | request->n_channels = n_channels; | 83 | request->n_channels = n_channels; |
85 | request->ssids = (void *)(request->channels + n_channels); | 84 | request->ssids = (void *)&request->channels[n_channels]; |
86 | request->n_ssids = 1; | 85 | request->n_ssids = 1; |
87 | 86 | ||
88 | memcpy(request->ssids[0].ssid, wdev->conn->params.ssid, | 87 | memcpy(request->ssids[0].ssid, wdev->conn->params.ssid, |