Changeset 3374


Ignore:
Timestamp:
Oct 20, 2012, 2:20:13 AM (21 months ago)
Author:
quozl
Message:

WLAN - scan buffer display overran actual length, only seen with 8787, see http://dev.laptop.org/ticket/12144

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • dev/ath9k/rx.fth

    r2760 r3374  
    339339   ." Scanning channel: " dup idx>ch .d ." ..." cr 
    340340   re-set-channel (scan-ch) 
    341    scanbuf .ssids 
     341   scanbuf /tsbuf .ssids 
    342342; 
    343343: scan-ch-2GHz  ( -- )  d# 11 0  do  i scan-ch  loop  ; 
  • dev/libertas.fth

    r3365 r3374  
    2020: supplicant-process-eapol  ( adr len -- )  " process-eapol" $call-supplicant  ; 
    2121: .scan  ( adr -- )  " .scan" $call-supplicant  ; 
    22 : .ssids  ( adr -- )  " .ssids" $call-supplicant  ; 
     22: .ssids  ( adr len -- )  " .ssids" $call-supplicant  ; 
    2323 
    2424defer load-all-fw  ( -- error? )   ' false to load-all-fw 
     
    486486      0076  of  ." CMD_802_11_RATE_ADAPT_RATESET"       endof 
    487487      007f  of  ." CMD_TX_RATE_QUERY"                   endof 
     488      00a4  of  ." CMD_802_11_RSSI_INFO"                endof 
    488489      00a5  of  ." CMD_SET_BOOT2_VER"                   endof  \ Thin firmware only 
    489490      00a9  of  ." CMD_FUNC_INIT"                       endof  \ Multifunction versions 
     
    18121813; 
    18131814 
     18150 [if] 
     1816: set-rssi-v14  ( nbcn ndata -- ) 
     1817   swap >r >r                                           ( r: antenna action ) 
     1818   6 h# a4 ( CMD_802_11_RSSI_INFO ) prepare-cmd 
     1819   1 +xw \ ACT_SET 
     1820   r> +xw \ Ndata 
     1821   r> +xw \ Nbcn 
     1822   outbuf-wait  drop 
     1823; 
     1824 
     1825: get-rssi-v14  ( -- avg_nf avg_snr nf snr ) 
     1826   6 h# a4 ( CMD_802_11_RSSI_INFO ) prepare-cmd 
     1827   0 +xw \ ACT_GET 
     1828   0 +xw \ Ndata 
     1829   0 +xw \ Nbcn 
     1830   outbuf-wait  drop 
     1831   respbuf >fw-data >r 
     1832   r@ h# 14 + le-w@ w->n ( avg_nf )                     \ dBm 
     1833   r@ h# 12 + le-w@ w->n ( avg_nf avg_rssi )            \ dBm 
     1834   r@ h# 10 + le-w@ w->n ( avg_nf avg_rssi nf )         \ dBm 
     1835   r@ h# 0e + le-w@ w->n ( avg_nf avg_rssi nf rssi )    \ dBm 
     1836   r> drop 
     1837; 
     1838[then] 
     1839 
    18141840: get-rssi  ( -- avg_nf avg_snr nf snr ) 
    18151841   2 h# 1f ( CMD_802_11_RSSI ) prepare-cmd 
     
    23272353            2drop false       ( error? ) 
    23282354         else 
    2329             over .ssids       ( adr len ) 
     2355            2dup .ssids       ( adr len ) 
    23302356            test-association  ( error? ) 
    23312357         then                 ( error? ) 
     
    24152441   ." scan"  cr 
    24162442   (scan)                               ( adr len error? ) 
    2417    0=  if  drop .ssids cr  then         ( ) 
     2443   0=  if  .ssids cr  then              ( ) 
    24182444; 
    24192445 
  • ofw/wifi/eapol.fth

    r2784 r3374  
    642642; 
    643643 
     6440 value scanbuf-end 
     645 
    644646: .ap-ssid  ( adr -- ) 
     647   dup le-w@ over + 2 + scanbuf-end >=  if  drop exit  then 
     648 
    645649   ." RSSI: " dup 8 + c@ .d  
    646650   dup le-w@ swap 2 + swap d# 19 /string        ( adr' len' ) 
     
    651655; 
    652656 
    653 : .ssids  ( adr -- ) 
    654    dup 3 +                              ( 'ap ) 
     657: .ssids  ( adr len -- ) 
     658   over + to scanbuf-end                ( adr ) 
     659 
     660   dup le-w@                            ( adr size ) 
     661   over + scanbuf-end >=  if 
     662      ." scan truncated" cr 
     663   then                                 ( adr ) 
     664 
     665   dup 3 +                              ( adr 'ap ) 
    655666   swap 2 + c@                          ( 'ap #ap ) 
    656667   0  ?do                               ( 'ap ) 
    657668      dup .ap-ssid  cr                  ( 'ap ) 
    658669      dup le-w@ + 2 +                   ( 'ap' ) 
     670      dup scanbuf-end >=  if  drop unloop exit  then 
    659671   loop  drop                           ( ) 
    660 ;    
     672; 
    661673 
    662674: #ssids  ( adr -- n )  2 + c@  ; 
Note: See TracChangeset for help on using the changeset viewer.