diff options
author | Jean Tourrilhes <jt@hpl.hp.com> | 2009-11-24 10:47:08 -0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-12-04 13:30:39 -0500 |
commit | 1014eb6ec95b18f890101e99385f05539c0c2f01 (patch) | |
tree | 6ef0eb2946e197b93fd317993fc1fc61aadd27e0 | |
parent | 316a4d966cae3c2dec83ebb1ee1a3515f97b30ff (diff) | |
download | linux-1014eb6ec95b18f890101e99385f05539c0c2f01.tar.bz2 |
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.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c index a4e5ddc8d4f5..6033785f56c5 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) |