[802.11] Fix packet duplication elimination state
authorJoshua Oreman <oremanj@xenon.get-linux.org>
Thu, 18 Jun 2009 00:47:34 +0000 (17:47 -0700)
committerJoshua Oreman <oremanj@xenon.get-linux.org>
Thu, 18 Jun 2009 00:47:34 +0000 (17:47 -0700)
Using a signed 16-bit value to store an unsigned 16-bit field caused
packets with sequence numbers above 2048 to be ignored by the
duplication elimination code.

src/include/gpxe/net80211.h
src/net/net80211.c

index f16d380..eeeb3af 100644 (file)
@@ -761,7 +761,7 @@ struct net80211_device
         * this field stores the last sequence control field we've
         * received for a packet from the AP.
         */
-       s16 last_rx_seq;
+       u16 last_rx_seq;
 
        /** RX management packet queue
         *
index e7870ac..e182101 100644 (file)
@@ -667,7 +667,6 @@ struct net80211_device * net80211_alloc ( size_t priv_size )
        dev->netdev = netdev;
        dev->priv = ( u8 * ) dev + sizeof ( *dev );
        dev->op = &net80211_null_ops;
-       dev->last_rx_seq = -1;
 
        dev->proc_assoc.step = net80211_step_associate;
        INIT_LIST_HEAD ( &dev->mgmt_queue );