[WIP] enable WMM in the hope that this allows NULL packets

Holger Schurig hs4233 at mail.mn-solutions.de
Tue Jul 3 04:33:18 EDT 2007


cozy-me said in IRC that maybe I had to enable WMM. This patch tries that.

On the CF card, I actually got a card status event, saying "WMM status
changed". Which I ignored so far. It is believed by cozy-me that
enabling WMM might allow null-packets


--- libertas-2.6.orig/drivers/net/wireless/libertas/host.h
+++ libertas-2.6/drivers/net/wireless/libertas/host.h
@@ -168,6 +168,7 @@
 #define CMD_ACT_MAC_PROMISCUOUS_ENABLE      0x0080
 #define CMD_ACT_MAC_ALL_MULTICAST_ENABLE    0x0100
 #define CMD_ACT_MAC_STRICT_PROTECTION_ENABLE  0x0400
+#define CMD_ACT_MAC_WMM_ON                  0x0800
 
 /* Define action or option for CMD_802_11_RADIO_CONTROL */
 #define CMD_TYPE_AUTO_PREAMBLE              0x0001
@@ -276,6 +277,7 @@
 #define MACREG_INT_CODE_MIC_ERR_UNICAST         0x0000000e
 #define MACREG_INT_CODE_WM_AWAKE                0x0000000f
 #define MACREG_INT_CODE_ADHOC_BCN_LOST          0x00000011
+#define MACREG_INT_CODE_WMM_STATUS_CHANGED	0x00000017
 #define MACREG_INT_CODE_RSSI_LOW		0x00000019
 #define MACREG_INT_CODE_SNR_LOW			0x0000001a
 #define MACREG_INT_CODE_MAX_FAIL		0x0000001b
--- libertas-2.6.orig/drivers/net/wireless/libertas/main.c
+++ libertas-2.6/drivers/net/wireless/libertas/main.c
@@ -1046,7 +1046,7 @@
 	adapter->surpriseremoved = 0;
 
 	adapter->currentpacketfilter =
-	    CMD_ACT_MAC_RX_ON | CMD_ACT_MAC_TX_ON;
+	    CMD_ACT_MAC_RX_ON | CMD_ACT_MAC_TX_ON | CMD_ACT_MAC_WMM_ON;
 
 	adapter->radioon = RADIO_ON;
 	adapter->txantenna = RF_ANTENNA_2;
--- libertas-2.6.orig/drivers/net/wireless/libertas/cmdresp.c
+++ libertas-2.6/drivers/net/wireless/libertas/cmdresp.c
@@ -1016,9 +1016,11 @@
 		adapter->mode = IW_MODE_ADHOC ;
 		schedule_work(&priv->sync_channel);
 		break;
-
+	case MACREG_INT_CODE_WMM_STATUS_CHANGED:
+		/* Ignore this for now */
+		break;
 	default:
-		lbs_pr_alert("EVENT: unknown event id 0x%04x\n",
+		lbs_pr_alert("EVENT: unknown id 0x%04x\n",
 		       eventcause >> SBI_EVENT_CAUSE_SHIFT);
 		break;
 	}



More information about the libertas-dev mailing list