[openfirmware] r1097 - cpu/x86/pc cpu/x86/pc/olpc dev/usb2/device/wlan

svn at openfirmware.info svn at openfirmware.info
Mon Feb 2 07:58:07 CET 2009


Author: wmb
Date: 2009-02-02 07:58:07 +0100 (Mon, 02 Feb 2009)
New Revision: 1097

Modified:
   cpu/x86/pc/biosints.fth
   cpu/x86/pc/olpc/biosresume.fth
   dev/usb2/device/wlan/wlan.fth
Log:
OLPC trac 9227 - reset wlan when starting Windows because the
Windows driver fails if the wlan firmware has already been loaded.


Modified: cpu/x86/pc/biosints.fth
===================================================================
--- cpu/x86/pc/biosints.fth	2009-02-02 06:47:25 UTC (rev 1096)
+++ cpu/x86/pc/biosints.fth	2009-02-02 06:58:07 UTC (rev 1097)
@@ -1078,6 +1078,7 @@
 ;
 : get-one-sector  ( dev$ -- error? )
    open-dev to bios-ih
+   bios-ih 0=  if  true exit  then
    load-base 0 1 (bios-read-sectors)   ( #read )
    close-bios-ih                       ( #read )
    1 <>                                ( error? )
@@ -1104,7 +1105,6 @@
    : open
       " sd:1" ntfs?  if
          " sd:0" set-hd-boot
-         dcon-unfreeze unfreeze
          true exit
       then
       false

Modified: cpu/x86/pc/olpc/biosresume.fth
===================================================================
--- cpu/x86/pc/olpc/biosresume.fth	2009-02-02 06:47:25 UTC (rev 1096)
+++ cpu/x86/pc/olpc/biosresume.fth	2009-02-02 06:58:07 UTC (rev 1097)
@@ -69,7 +69,13 @@
    h# 5120.000b msr@ 2 invert and h# 5120.000b msr!
    h# 5101.0020 p2d-bm-off
 ;
-' disable-uoc to more-platform-fixup
+: xo-platform-fixup  ( -- )
+   disable-uoc
+   dcon-unfreeze unfreeze
+   wlan-reset
+;
+' xo-platform-fixup to more-platform-fixup
+
 : video-refresh-off  ( -- )
    h# 1000.002a msr@ drop d# 12 lshift   ( dc-base )
    h# 4758 over l!  0 swap 4 + l!

Modified: dev/usb2/device/wlan/wlan.fth
===================================================================
--- dev/usb2/device/wlan/wlan.fth	2009-02-02 06:47:25 UTC (rev 1096)
+++ dev/usb2/device/wlan/wlan.fth	2009-02-02 06:58:07 UTC (rev 1097)
@@ -84,17 +84,20 @@
       my-args " supplicant" $open-package to supplicant-ih
       supplicant-ih 0=  if  end-bulk-in end-out-ring free-buf false exit  then
       nonce-cmd
-      force-open?  if  true exit  then
-      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
+      force-open?  0=  if
+         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
-      start-nic
    then
-   use-promiscuous?  if  enable-promiscuous  else  disable-promiscuous  then
+   force-open?  0=  if
+      use-promiscuous?  if  enable-promiscuous  else  disable-promiscuous  then
+   then
    opencount @ 1+ opencount !
    true
 ;




More information about the openfirmware mailing list