[PATCH] libertas: send association events on adhoc reassociation
Send association event to userspace when reassociating to the same ad-hoc network, because it's still an association. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
9556d2120c
commit
0edef215e4
@ -209,15 +209,26 @@ int libertas_join_adhoc_network(wlan_private * priv, struct assoc_request * asso
|
|||||||
bss->ssid_len);
|
bss->ssid_len);
|
||||||
|
|
||||||
/* check if the requested SSID is already joined */
|
/* check if the requested SSID is already joined */
|
||||||
if (adapter->curbssparams.ssid_len
|
if ( adapter->curbssparams.ssid_len
|
||||||
&& !libertas_ssid_cmp(adapter->curbssparams.ssid,
|
&& !libertas_ssid_cmp(adapter->curbssparams.ssid,
|
||||||
adapter->curbssparams.ssid_len,
|
adapter->curbssparams.ssid_len,
|
||||||
bss->ssid, bss->ssid_len)
|
bss->ssid, bss->ssid_len)
|
||||||
&& (adapter->mode == IW_MODE_ADHOC)) {
|
&& (adapter->mode == IW_MODE_ADHOC)
|
||||||
lbs_deb_join(
|
&& (adapter->connect_status == LIBERTAS_CONNECTED)) {
|
||||||
"ADHOC_J_CMD: New ad-hoc SSID is the same as current, "
|
union iwreq_data wrqu;
|
||||||
"not attempting to re-join");
|
|
||||||
return -1;
|
lbs_deb_join("ADHOC_J_CMD: New ad-hoc SSID is the same as "
|
||||||
|
"current, not attempting to re-join");
|
||||||
|
|
||||||
|
/* Send the re-association event though, because the association
|
||||||
|
* request really was successful, even if just a null-op.
|
||||||
|
*/
|
||||||
|
memset(&wrqu, 0, sizeof(wrqu));
|
||||||
|
memcpy(wrqu.ap_addr.sa_data, adapter->curbssparams.bssid,
|
||||||
|
ETH_ALEN);
|
||||||
|
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
|
||||||
|
wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL);
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use shortpreamble only when both creator and card supports
|
/* Use shortpreamble only when both creator and card supports
|
||||||
@ -242,6 +253,7 @@ int libertas_join_adhoc_network(wlan_private * priv, struct assoc_request * asso
|
|||||||
0, CMD_OPTION_WAITFORRSP,
|
0, CMD_OPTION_WAITFORRSP,
|
||||||
OID_802_11_SSID, assoc_req);
|
OID_802_11_SSID, assoc_req);
|
||||||
|
|
||||||
|
out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user