Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Tue, 10 Jun 2008 09:22:26 +0000 (02:22 -0700)]
Conflicts:

drivers/net/tg3.c
drivers/net/wireless/rt2x00/rt2x00dev.c
net/mac80211/ieee80211_i.h

30 files changed:
1  2 
drivers/net/Kconfig
drivers/net/atlx/atl1.c
drivers/net/myri10ge/myri10ge.c
drivers/net/tg3.c
drivers/net/ucc_geth_ethtool.c
drivers/net/wireless/airo.c
drivers/net/wireless/atmel.c
drivers/net/wireless/b43/b43.h
drivers/net/wireless/b43/main.c
drivers/net/wireless/b43legacy/main.c
drivers/net/wireless/iwlwifi/iwl-4965-rs.c
drivers/net/wireless/libertas/cmd.c
drivers/net/wireless/libertas/main.c
drivers/net/wireless/rndis_wlan.c
drivers/net/wireless/rt2x00/rt2x00.h
drivers/net/wireless/rt2x00/rt2x00dev.c
drivers/net/wireless/rt2x00/rt2x00mac.c
drivers/net/wireless/zd1211rw/zd_mac.c
include/linux/pci_ids.h
include/net/sctp/structs.h
net/core/rtnetlink.c
net/mac80211/cfg.c
net/mac80211/ieee80211_i.h
net/mac80211/main.c
net/mac80211/mlme.c
net/mac80211/rx.c
net/mac80211/util.c
net/mac80211/wext.c
net/sctp/associola.c
net/sctp/protocol.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -753,8 -734,10 +753,9 @@@ struct b43_wl 
        /* The beacon we are currently using (AP or IBSS mode).
         * This beacon stuff is protected by the irq_lock. */
        struct sk_buff *current_beacon;
 -      struct ieee80211_tx_control beacon_txctl;
        bool beacon0_uploaded;
        bool beacon1_uploaded;
+       bool beacon_templates_virgin; /* Never wrote the templates? */
        struct work_struct beacon_update_trigger;
  
        /* The current QOS parameters for the 4 queues.
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -853,7 -877,29 +853,29 @@@ u32 ieee80211_handle_ht(struct ieee8021
  
  /* ieee80211_ioctl.c */
  extern const struct iw_handler_def ieee80211_iw_handler_def;
- int ieee80211_set_freq(struct ieee80211_local *local, int freq);
 -
+ /* Least common multiple of the used rates (in 100 kbps). This is used to
+  * calculate rate_inv values for each rate so that only integers are needed. */
+ #define CHAN_UTIL_RATE_LCM 95040
+ /* 1 usec is 1/8 * (95040/10) = 1188 */
+ #define CHAN_UTIL_PER_USEC 1188
+ /* Amount of bits to shift the result right to scale the total utilization
+  * to values that will not wrap around 32-bit integers. */
+ #define CHAN_UTIL_SHIFT 9
+ /* Theoretical maximum of channel utilization counter in 10 ms (stat_time=1):
+  * (CHAN_UTIL_PER_USEC * 10000) >> CHAN_UTIL_SHIFT = 23203. So dividing the
+  * raw value with about 23 should give utilization in 10th of a percentage
+  * (1/1000). However, utilization is only estimated and not all intervals
+  * between frames etc. are calculated. 18 seems to give numbers that are closer
+  * to the real maximum. */
+ #define CHAN_UTIL_PER_10MS 18
+ #define CHAN_UTIL_HDR_LONG (202 * CHAN_UTIL_PER_USEC)
+ #define CHAN_UTIL_HDR_SHORT (40 * CHAN_UTIL_PER_USEC)
+ /* ieee80211_ioctl.c */
+ int ieee80211_set_freq(struct net_device *dev, int freq);
++
  /* ieee80211_sta.c */
  void ieee80211_sta_timer(unsigned long data);
  void ieee80211_sta_work(struct work_struct *work);
@@@ -1314,9 -1314,9 +1315,9 @@@ static void ieee80211_handle_filtered_f
        /*
         * Clear the TX filter mask for this STA when sending the next
         * packet. If the STA went to power save mode, this will happen
-        * happen when it wakes up for the next time.
+        * when it wakes up for the next time.
         */
 -      sta->flags |= WLAN_STA_CLEAR_PS_FILT;
 +      set_sta_flags(sta, WLAN_STA_CLEAR_PS_FILT);
  
        /*
         * This code races in the following way:
@@@ -1670,10 -1659,10 +1670,10 @@@ timer_expired_exit
   * resetting it after each frame that arrives from the originator.
   * if this timer expires ieee80211_sta_stop_rx_ba_session will be executed.
   */
 -void sta_rx_agg_session_timer_expired(unsigned long data)
 +static void sta_rx_agg_session_timer_expired(unsigned long data)
  {
        /* not an elegant detour, but there is no choice as the timer passes
-        * only one argument, and verious sta_info are needed here, so init
+        * only one argument, and various sta_info are needed here, so init
         * flow in sta_info_create gives the TID as data, while the timer_to_id
         * array gives the sta through container_of */
        u8 *ptid = (u8 *)data;
@@@ -4134,15 -4108,14 +4140,14 @@@ ieee80211_sta_scan_result(struct net_de
  
        memset(&iwe, 0, sizeof(iwe));
        iwe.cmd = SIOCGIWFREQ;
-       iwe.u.freq.m = ieee80211_frequency_to_channel(bss->freq);
-       iwe.u.freq.e = 0;
+       iwe.u.freq.m = bss->freq;
+       iwe.u.freq.e = 6;
        current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
                                          IW_EV_FREQ_LEN);
        memset(&iwe, 0, sizeof(iwe));
        iwe.cmd = IWEVQUAL;
 -      iwe.u.qual.qual = bss->signal;
 -      iwe.u.qual.level = bss->rssi;
 +      iwe.u.qual.qual = bss->qual;
 +      iwe.u.qual.level = bss->signal;
        iwe.u.qual.noise = bss->noise;
        iwe.u.qual.updated = local->wstats_flags;
        current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge