Changeset 3560


Ignore:
Timestamp:
Feb 20, 2013, 12:10:44 AM (14 months ago)
Author:
quozl
Message:

OLPC - libertas, fix failure during test /wlan on 8686, by returning separate scan response result and length.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • dev/libertas.fth

    r3557 r3560  
    12181218; 
    12191219 
    1220 : scan  ( adr len chan -- actual ) 
    1221    dup channel-is-5ghz?  802.11n?  0=  and  if  3drop 0 exit  then 
     1220: scan  ( adr len chan -- false | actual true ) 
    12221221   >r                           ( adr len r: chan ) 
    12231222   begin 
     
    12271226   repeat                       ( adr len scan-adr scan-len err? r: chan ) 
    12281227   r> drop                      ( adr len scan-adr scan-len err? ) 
    1229    if  2drop 0 exit  then       ( adr len scan-adr scan-len ) 
     1228   if  4drop false exit  then   ( adr len scan-adr scan-len ) 
    12301229   rot min >r                   ( adr scan-adr r: actual ) 
    12311230   swap r@ move                 ( r: actual ) 
    12321231   r>                           ( actual ) 
     1232   true 
    12331233; 
    12341234 
     
    24462446: ta-scan  ( -- ) 
    24472447   ." scan"  cr 
    2448    (scan-all) drop 
     2448   " scan-all" $call-supplicant drop 
    24492449; 
    24502450 
  • ofw/wifi/data.fth

    r3557 r3560  
    99: write-force  ( adr len -- actual )  " write-force" $call-parent  ; 
    1010: read-force   ( adr len -- actual )  " read-force"  $call-parent  ; 
    11 : scan  ( adr len chan -- actual )  " scan"  $call-parent  ; 
     11: scan  ( adr len chan -- false | actual true )  " scan"  $call-parent  ; 
    1212: enable-rsn   ( -- )  " enable-rsn"  $call-parent drop  ; 
    1313: disable-rsn  ( -- )  " disable-rsn" $call-parent drop  ; 
  • ofw/wifi/eapol.fth

    r3557 r3560  
    951951   scan-order /scan-order bounds do           ( ) 
    952952      scanbuf /buf  i c@                      ( adr len chan ) 
    953       scan  dup if                            ( actual ) 
    954          scanbuf swap                         ( adr len ) 
    955          2dup .ssids                          ( adr len ) 
    956          test-association 
    957       else                                    ( actual ) 
    958          drop unloop true exit 
     953      scan  if                                ( actual ) 
     954         ?dup  if                             ( actual ) 
     955            scanbuf swap                      ( adr actual ) 
     956            2dup .ssids                       ( adr actual ) 
     957            test-association 
     958         then 
     959      else                                    ( ) 
     960         unloop true exit 
    959961      then 
    960962   loop 
     
    970972   scan-order /scan-order bounds do           ( ) 
    971973      scanbuf /buf  i c@                      ( adr len chan ) 
    972       scan  if                                ( ) 
    973          debug?  if  scanbuf .scan  then      ( ) 
    974          ssid$ (select-ssid?)                 ( found? ) 
    975          if  ." found"  cr unloop true exit  then 
     974      scan  if                                ( actual ) 
     975         if                                   ( ) 
     976            debug?  if  scanbuf .scan  then   ( ) 
     977            ssid$ (select-ssid?)              ( found? ) 
     978            if 
     979               ." found"  cr unloop true exit 
     980            then                              ( ) 
     981         then 
    976982      then 
    977983   loop 
    978    ." not found"  cr  false                  ( found? ) 
     984   ." not found"  cr  false                   ( found? ) 
    979985; 
    980986 
Note: See TracChangeset for help on using the changeset viewer.