summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Tourrilhes <jt@hpl.hp.com>2009-11-24 10:47:08 -0800
committerJohn W. Linville <linville@tuxdriver.com>2009-12-04 13:30:39 -0500
commit1014eb6ec95b18f890101e99385f05539c0c2f01 (patch)
tree6ef0eb2946e197b93fd317993fc1fc61aadd27e0
parent316a4d966cae3c2dec83ebb1ee1a3515f97b30ff (diff)
downloadlinux-3.10-1014eb6ec95b18f890101e99385f05539c0c2f01.tar.gz
linux-3.10-1014eb6ec95b18f890101e99385f05539c0c2f01.tar.bz2
linux-3.10-1014eb6ec95b18f890101e99385f05539c0c2f01.zip
WE: Fix set events not propagated
I've just noticed that some events are no longer propagated for some wireless drivers. Basically, SET request with a extra payload for driver without commit handler. The fix is pretty simple, see attached. Actually, a few lines below this line, you will see that the event generation for simple SET (iwpoint-less ?) is done properly, and this other event generation does not need fixing. Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/wireless/wext-core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
index a4e5ddc8d4f..6033785f56c 100644
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
@@ -802,7 +802,8 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
}
/* Generate an event to notify listeners of the change */
- if ((descr->flags & IW_DESCR_FLAG_EVENT) && err == -EIWCOMMIT) {
+ if ((descr->flags & IW_DESCR_FLAG_EVENT) &&
+ ((err == 0) || (err == -EIWCOMMIT))) {
union iwreq_data *data = (union iwreq_data *) iwp;
if (descr->flags & IW_DESCR_FLAG_RESTRICT)