Commit 0edef215 authored by Dan Williams's avatar Dan Williams Committed by David S. Miller

[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: default avatarDan Williams <dcbw@redhat.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9556d212
...@@ -209,15 +209,26 @@ int libertas_join_adhoc_network(wlan_private * priv, struct assoc_request * asso ...@@ -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 ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment