diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-04-27 04:55:26 -0400 | 
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-04-27 04:55:26 -0400 | 
| commit | 9a375e93f88269bb770fb2eaa57554c975449c88 (patch) | |
| tree | 4c8f6d77f0aa94fc69c5b9e75d51db1451bdf66f /drivers/net/wireless/atmel.c | |
| parent | b2b4b9a7c09ad66e095b13c97946a96f2dc8284e (diff) | |
| parent | acc696d93dcf993dec123d69d599979e1456ffec (diff) | |
Merge branch 'upstream' into max-sect
Diffstat (limited to 'drivers/net/wireless/atmel.c')
| -rw-r--r-- | drivers/net/wireless/atmel.c | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c index 87afa6878f26..8606c88886fc 100644 --- a/drivers/net/wireless/atmel.c +++ b/drivers/net/wireless/atmel.c | |||
| @@ -3463,6 +3463,7 @@ static void atmel_command_irq(struct atmel_private *priv) | |||
| 3463 | u8 status = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_STATUS_OFFSET)); | 3463 | u8 status = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_STATUS_OFFSET)); | 
| 3464 | u8 command = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_COMMAND_OFFSET)); | 3464 | u8 command = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_COMMAND_OFFSET)); | 
| 3465 | int fast_scan; | 3465 | int fast_scan; | 
| 3466 | union iwreq_data wrqu; | ||
| 3466 | 3467 | ||
| 3467 | if (status == CMD_STATUS_IDLE || | 3468 | if (status == CMD_STATUS_IDLE || | 
| 3468 | status == CMD_STATUS_IN_PROGRESS) | 3469 | status == CMD_STATUS_IN_PROGRESS) | 
| @@ -3487,6 +3488,7 @@ static void atmel_command_irq(struct atmel_private *priv) | |||
| 3487 | atmel_scan(priv, 1); | 3488 | atmel_scan(priv, 1); | 
| 3488 | } else { | 3489 | } else { | 
| 3489 | int bss_index = retrieve_bss(priv); | 3490 | int bss_index = retrieve_bss(priv); | 
| 3491 | int notify_scan_complete = 1; | ||
| 3490 | if (bss_index != -1) { | 3492 | if (bss_index != -1) { | 
| 3491 | atmel_join_bss(priv, bss_index); | 3493 | atmel_join_bss(priv, bss_index); | 
| 3492 | } else if (priv->operating_mode == IW_MODE_ADHOC && | 3494 | } else if (priv->operating_mode == IW_MODE_ADHOC && | 
| @@ -3495,8 +3497,14 @@ static void atmel_command_irq(struct atmel_private *priv) | |||
| 3495 | } else { | 3497 | } else { | 
| 3496 | priv->fast_scan = !fast_scan; | 3498 | priv->fast_scan = !fast_scan; | 
| 3497 | atmel_scan(priv, 1); | 3499 | atmel_scan(priv, 1); | 
| 3500 | notify_scan_complete = 0; | ||
| 3498 | } | 3501 | } | 
| 3499 | priv->site_survey_state = SITE_SURVEY_COMPLETED; | 3502 | priv->site_survey_state = SITE_SURVEY_COMPLETED; | 
| 3503 | if (notify_scan_complete) { | ||
| 3504 | wrqu.data.length = 0; | ||
| 3505 | wrqu.data.flags = 0; | ||
| 3506 | wireless_send_event(priv->dev, SIOCGIWSCAN, &wrqu, NULL); | ||
| 3507 | } | ||
| 3500 | } | 3508 | } | 
| 3501 | break; | 3509 | break; | 
| 3502 | 3510 | ||
| @@ -3509,6 +3517,9 @@ static void atmel_command_irq(struct atmel_private *priv) | |||
| 3509 | priv->site_survey_state = SITE_SURVEY_COMPLETED; | 3517 | priv->site_survey_state = SITE_SURVEY_COMPLETED; | 
| 3510 | if (priv->station_is_associated) { | 3518 | if (priv->station_is_associated) { | 
| 3511 | atmel_enter_state(priv, STATION_STATE_READY); | 3519 | atmel_enter_state(priv, STATION_STATE_READY); | 
| 3520 | wrqu.data.length = 0; | ||
| 3521 | wrqu.data.flags = 0; | ||
| 3522 | wireless_send_event(priv->dev, SIOCGIWSCAN, &wrqu, NULL); | ||
| 3512 | } else { | 3523 | } else { | 
| 3513 | atmel_scan(priv, 1); | 3524 | atmel_scan(priv, 1); | 
| 3514 | } | 3525 | } | 
