55 unsigned int sent_seq_no;
77 unifi_error(priv,
"mlme_wait: timed-out waiting for 0x%.4X, after %lu msec.\n",
82 unifi_error(priv,
"mlme_wait: waiting for 0x%.4X was aborted.\n", sig_reply_id);
88 sent_seq_no = pcli->
seq_no - 1;
105 unifi_error(priv,
"mlme_wait: mismatching signal id (0x%.4X - exp 0x%.4X) (seq %d)\n",
118 unifi_error(priv,
"mlme_wait: confirm wait retries exhausted (0x%.4X - exp 0x%.4X)\n",
160 unifi_error(priv,
"unifi_mlme_blocking_request: Invalid Signal Id (0x%x)\n",
165 down(&priv->mlme_blocking_mutex);
177 up(&priv->mlme_blocking_mutex);
178 unifi_error(priv,
"Error queueing MLME REQUEST signal\n");
190 if (pcli->
seq_no > 0x0F) {
195 up(&priv->mlme_blocking_mutex);
198 unifi_error(priv,
"Error waiting for MLME CONFIRM signal\n");
280 ul_cli = priv->wext_client;
303 static const struct mlme_code Result_codes[] = {
304 {
"Success", 0x0000 },
305 {
"Unspecified Failure", 0x0001 },
307 {
"Refused Capabilities Mismatch", 0x000A },
309 {
"Refused External Reason", 0x000C },
311 {
"Refused AP Out Of Memory", 0x0011 },
312 {
"Refused Basic Rates Mismatch", 0x0012 },
314 {
"Failure", 0x0020 },
316 {
"Refused Reason Unspecified", 0x0025 },
317 {
"Invalid Parameters", 0x0026 },
318 {
"Rejected With Suggested Changes", 0x0027 },
320 {
"Rejected For Delay Period", 0x002F },
321 {
"Not Allowed", 0x0030 },
322 {
"Not Present", 0x0031 },
323 {
"Not QSTA", 0x0032 },
325 {
"Timeout", 0x8000 },
326 {
"Too Many Simultaneous Requests", 0x8001 },
327 {
"BSS Already Started Or Joined", 0x8002 },
328 {
"Not Supported", 0x8003 },
329 {
"Transmission Failure", 0x8004 },
330 {
"Refused Not Authenticated", 0x8005 },
331 {
"Reset Required Before Start", 0x8006 },
332 {
"LM Info Unavailable", 0x8007 },
336 static const struct mlme_code Reason_codes[] = {
338 {
"Unspecified Reason", 0x0001 },
339 {
"Authentication Not Valid", 0x0002 },
340 {
"Deauthenticated Leave BSS", 0x0003 },
341 {
"Disassociated Inactivity", 0x0004 },
342 {
"AP Overload", 0x0005 },
343 {
"Class2 Frame Error", 0x0006 },
344 {
"Class3 Frame Error", 0x0007 },
345 {
"Disassociated Leave BSS", 0x0008 },
346 {
"Association Not Authenticated", 0x0009 },
347 {
"Disassociated Power Capability", 0x000A },
348 {
"Disassociated Supported Channels", 0x000B },
350 {
"Invalid Information Element", 0x000D },
351 {
"Michael MIC Failure", 0x000E },
352 {
"Fourway Handshake Timeout", 0x000F },
353 {
"Group Key Update Timeout", 0x0010 },
354 {
"Handshake Element Different", 0x0011 },
355 {
"Invalid Group Cipher", 0x0012 },
356 {
"Invalid Pairwise Cipher", 0x0013 },
357 {
"Invalid AKMP", 0x0014 },
358 {
"Unsupported RSN IE Version", 0x0015 },
359 {
"Invalid RSN IE Capabilities", 0x0016 },
360 {
"Dot1X Auth Failed", 0x0017 },
361 {
"Cipher Rejected By Policy", 0x0018 },
363 {
"QoS Unspecified Reason", 0x0020 },
364 {
"QoS Insufficient Bandwidth", 0x0021 },
365 {
"QoS Excessive Not Ack", 0x0022 },
366 {
"QoS TXOP Limit Exceeded", 0x0023 },
367 {
"QSTA Leaving", 0x0024 },
368 {
"End TS, End DLS, End BA", 0x0025 },
369 {
"Unknown TS, Unknown DLS, Unknown BA", 0x0026 },
370 {
"Timeout", 0x0027 },
372 {
"STAKey Mismatch", 0x002D },
378 lookup_something(
const struct mlme_code *
n,
int id)
380 for (; n->
name; n++) {
394 static char fallback[16];
397 str = lookup_something(Result_codes, result);
400 snprintf(fallback, 16,
"%d", result);
424 static char fallback[16];
427 str = lookup_something(Reason_codes, reason);
430 snprintf(fallback, 16,
"%d", reason);