[PATCH v2] P2P: Ignore the DEAUTH event from cfg80211 incase of locally generated disconnect
Jouni Malinen
j
Wed May 29 14:38:38 PDT 2013
On Wed, May 29, 2013 at 06:28:24PM +0530, jithu Jance wrote:
> Would the below patch be sufficient enough?
It may be. I need to do some experiments to see if I can come up with
cases where this would be an issue.
> [PATCH] Ignore the Disconnect event that is generated as a result of
> local disconnect
> hostap: Jithu Jance <jithu at broadcom.com>
Could you please repost with "Signed-hostap" tag?
> diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
> @@ -4892,12 +4892,15 @@ nla_put_failure:
> + int ret = 0;
No need to initialize ret here.
> - drv->ignore_next_local_disconnect = 0;
> /* Disconnect command doesn't need BSSID - it uses cached value */
> - return wpa_driver_nl80211_mlme(drv, NULL, NL80211_CMD_DISCONNECT,
> - reason_code, 0);
> + if ((ret = wpa_driver_nl80211_mlme(drv, NULL, NL80211_CMD_DISCONNECT,
> + reason_code, 0)) < 0)
> + drv->ignore_next_local_disconnect = 0;
I'd prefer following style:
ret = wpa_driver....;
if (ret < 0)
drv->ignore_next...;
> @@ -4905,8 +4908,10 @@ static int
> wpa_driver_nl80211_deauthenticate(struct i802_bss *bss,
> const u8 *addr, int reason_code)
> {
> struct wpa_driver_nl80211_data *drv = bss->drv;
> - if (!(drv->capa.flags & WPA_DRIVER_FLAGS_SME))
> + if (!(drv->capa.flags & WPA_DRIVER_FLAGS_SME)) {
> + drv->ignore_next_local_disconnect = 1;
> return wpa_driver_nl80211_disconnect(drv, reason_code);
> + }
Would be a good to add a comment here describing why this is needed.
--
Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list