[openfirmware] [commit] r1771 - dev

repository service svn at openfirmware.info
Wed Mar 10 18:35:33 CET 2010


Author: wmb
Date: Wed Mar 10 18:35:32 2010
New Revision: 1771
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1771

Log:
Libertas WLAN driver improvements for adhoc multicasting.

Modified:
   dev/libertas.fth

Modified: dev/libertas.fth
==============================================================================
--- dev/libertas.fth	Wed Mar 10 10:30:58 2010	(r1770)
+++ dev/libertas.fth	Wed Mar 10 18:35:32 2010	(r1771)
@@ -16,8 +16,8 @@
 \ Interface to /supplicant support package
 0 value supplicant-ih
 : $call-supplicant  ( ...$ -- ... )  supplicant-ih $call-method  ;
-: do-associate   ( -- flag )  " do-associate" $call-supplicant  ;
-: process-eapol  ( adr len -- )  " process-eapol" $call-supplicant  ;
+: supplicant-associate   ( -- flag )  " do-associate" $call-supplicant  ;
+: supplicant-process-eapol  ( adr len -- )  " process-eapol" $call-supplicant  ;
 : .scan  ( adr -- )  " .scan" $call-supplicant  ;
 : .ssids  ( adr -- )  " .ssids" $call-supplicant  ;
 
@@ -112,8 +112,10 @@
 
 \ Data rates
 d# 14 constant #rates
-create supported-rates 82 c, 84 c, 8b c, 96 c, 0c c, 12 c, 18 c, 24 c,
-		       30 c, 48 c, 60 c, 6c c, 00 c, 00 c,
+\ create supported-rates 82 c, 84 c, 8b c, 96 c, 0c c, 12 c, 18 c, 24 c,
+\ 		       30 c, 48 c, 60 c, 6c c, 00 c, 00 c,
+create supported-rates 82 c, 84 c, 8b c, 96 c, 8c c, 92 c, 98 c, a4 c,
+		       b0 c, c8 c, e0 c, ec c, 00 c, 00 c,
 #rates buffer: common-rates
 
 external
@@ -308,7 +310,7 @@
    then
 ;
 
-: do-process-eapol  ( adr len -- )  false to got-data?  process-eapol  ;
+: do-process-eapol  ( adr len -- )  false to got-data?  supplicant-process-eapol  ;
 
 \ =========================================================================
 \ Generic commands & responses
@@ -1104,7 +1106,8 @@
    atim +xw				\ ATIM window
    4 +x					\ Reserved bytes
 
-   cap    +xw				\ Capability info: ESS, short slot, WEP
+\  cap    +xw				\ Capability info: ESS, short slot, WEP
+   2 +xw				\ Capability info: IBSS (WEP/WPA would add h# 10)
 
    \ XXX 14 bytes for 802.11g, 8 bytes for 802.11b
    common-rates #rates +x$		\ Common supported data rates
@@ -1352,10 +1355,12 @@
 headers
 
 : do-associate  ( -- ok? )
-   do-associate dup  if
+   ['] 2drop to ?process-eapol  \ Don't reenter the supplicant while associating
+   supplicant-associate dup  if
       ds-disconnected reset-driver-state
       ds-associated set-driver-state
    then
+   ['] do-process-eapol to ?process-eapol
 ;
 
 : ?reassociate  ( -- )
@@ -1640,11 +1645,7 @@
          ds-disconnected reset-driver-state
       else
          link-up? 0=  if
-            ['] 2drop to ?process-eapol
             do-associate 0=  if  free-buf false exit  then
-            ds-disconnected reset-driver-state
-            ds-associated set-driver-state
-            ['] do-process-eapol to ?process-eapol
          then
          start-nic
       then



More information about the openfirmware mailing list