[PATCH] ar6k: 2.0.0.89 firmware support

Samuel Ortiz sameo at openedhand.com
Wed Feb 6 00:05:05 CET 2008


Hi Werner,

The 2.0.0.40 firmware crashes when getting certain RX data patterns,
which can easily be reproduced when running an SSH transfer over WPA.
The 2.0.0.89 firmware fixes that and doesn't seem to introduce
regressions. This patch is neede to support this firmware.

Signed-off-by: Samuel Ortiz <sameo at openedhand.com>
---
 drivers/sdio/function/wlan/ar6000/include/wmi.h |   10 +++++++---
 drivers/sdio/function/wlan/ar6000/wmi/wmi.c     |    4 ++--
 2 files changed, 9 insertions(+), 5 deletions(-)

Index: linux-2.6.24-omoko-svn/drivers/sdio/function/wlan/ar6000/include/wmi.h
===================================================================
--- linux-2.6.24-omoko-svn.orig/drivers/sdio/function/wlan/ar6000/include/wmi.h	2008-02-04 12:07:07.000000000 +0100
+++ linux-2.6.24-omoko-svn/drivers/sdio/function/wlan/ar6000/include/wmi.h	2008-02-05 16:25:42.000000000 +0100
@@ -245,8 +245,11 @@
     CONNECT_IGNORE_WPAx_GROUP_CIPHER = 0x0004,
     CONNECT_PROFILE_MATCH_DONE = 0x0008,
     CONNECT_IGNORE_AAC_BEACON = 0x0010,
+    CONNECT_CSA_FOLLOW_BSS = 0x0020,
 } WMI_CONNECT_CTRL_FLAGS_BITS;
 
+#define DEFAULT_CONNECT_CTRL_FLAGS         (CONNECT_CSA_FOLLOW_BSS)
+
 typedef PREPACK struct {
     A_UINT8     networkType;
     A_UINT8     dot11AuthMode;
@@ -519,8 +522,8 @@
 typedef PREPACK struct {
     A_UINT16    psPollTimeout;          /* msec */
     A_UINT16    triggerTimeout;         /* msec */
-    APSD_TIM_POLICY apsdTimPolicy;      /* TIM behavior with  ques APSD enabled. Default is IGNORE_TIM_ALL_QUEUES_APSD */
-    APSD_TIM_POLICY simulatedAPSDTimPolicy;      /* TIM behavior with  simulated APSD enabled. Default is PROCESS_TIM_SIMULATED_APSD */
+    A_UINT32    apsdTimPolicy;      /* TIM behavior with  ques APSD enabled. Default is IGNORE_TIM_ALL_QUEUES_APSD */
+    A_UINT32    simulatedAPSDTimPolicy;      /* TIM behavior with  simulated APSD enabled. Default is PROCESS_TIM_SIMULATED_APSD */
 } POSTPACK WMI_POWERSAVE_TIMERS_POLICY_CMD;
 
 /*
@@ -1050,7 +1053,7 @@
     A_UINT8     bssid[ATH_MAC_LEN];
     A_UINT16    listenInterval;
     A_UINT16    beaconInterval;
-    NETWORK_TYPE  networkType;
+    A_UINT32    networkType;
     A_UINT8     beaconIeLen;
     A_UINT8     assocReqLen;
     A_UINT8     assocRespLen;
@@ -1070,6 +1073,7 @@
     NO_RESOURCES_AVAIL = 0x07,
     CSERV_DISCONNECT   = 0x08,
     INVALID_PROFILE    = 0x0a,
+    DOT11H_CHANNEL_SWITCH = 0x0b,
 } WMI_DISCONNECT_REASON;
 
 typedef PREPACK struct {
Index: linux-2.6.24-omoko-svn/drivers/sdio/function/wlan/ar6000/wmi/wmi.c
===================================================================
--- linux-2.6.24-omoko-svn.orig/drivers/sdio/function/wlan/ar6000/wmi/wmi.c	2008-02-04 12:07:07.000000000 +0100
+++ linux-2.6.24-omoko-svn/drivers/sdio/function/wlan/ar6000/wmi/wmi.c	2008-02-05 16:25:42.000000000 +0100
@@ -5,7 +5,7 @@
  * This module implements the hardware independent layer of the
  * Wireless Module Interface (WMI) protocol.
  *
- * $Id: //depot/sw/releases/olca2.0-GPL/host/wmi/wmi.c#2 $
+ * $Id: //depot/sw/releases/olca2.0-GPL/host/wmi/wmi.c#3 $
  *
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -1560,7 +1560,7 @@
        need to do a SYNC before.*/
     status = (wmi_cmd_send(wmip, osbuf, WMI_DISCONNECT_CMDID,
                          NO_SYNC_WMIFLAG));
-    wmi_qos_state_init(wmip);
+
     return status;
 }
 





More information about the openmoko-kernel mailing list