aboutsummaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-05-25 01:42:21 -0700
committerDavid S. Miller <davem@davemloft.net>2009-05-25 01:42:21 -0700
commitc649c0e31d5736a4b7c5c3454182091dda4bbe62 (patch)
tree93da11bf4ea828611ab5277a7dbadf57724c2b1e /net/wireless
parentdaebafed7fef54fcc73d2d01431122cfd578d1e0 (diff)
parent4e2fd555199977c5994d1a4d2d3b8761b20ca4c7 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/wireless/ath/ath5k/phy.c drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl3945-base.c
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/reg.c7
-rw-r--r--net/wireless/wext.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index df0ced9405d..f87ac1df2df 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1680,6 +1680,13 @@ static int regulatory_hint_core(const char *alpha2)
queue_regulatory_request(request);
+ /*
+ * This ensures last_request is populated once modules
+ * come swinging in and calling regulatory hints and
+ * wiphy_apply_custom_regulatory().
+ */
+ flush_scheduled_work();
+
return 0;
}
diff --git a/net/wireless/wext.c b/net/wireless/wext.c
index 22378daceb9..252c2010c2e 100644
--- a/net/wireless/wext.c
+++ b/net/wireless/wext.c
@@ -820,6 +820,13 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
err = -EFAULT;
goto out;
}
+
+ if (cmd == SIOCSIWENCODEEXT) {
+ struct iw_encode_ext *ee = (void *) extra;
+
+ if (iwp->length < sizeof(*ee) + ee->key_len)
+ return -EFAULT;
+ }
}
err = handler(dev, info, (union iwreq_data *) iwp, extra);