1. 10 2月, 2009 10 次提交
    • S
      ath9k: Handle mac80211's RC flags for MCS rates · c89424df
      Sujith 提交于
      mac80211 notifies the RC algorithm if RTS/CTS and short preamble
      are needed. The RC flags for MCS rates are currently not handled
      by mac80211, and ath9k's RC doesn't set the flags either. Fix this.
      
      Also, set the rts_cts_rate_idx inside the RC algorithm.
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c89424df
    • S
      ath9k: Cleanup get_rate() interface · 3900898c
      Sujith 提交于
      The interface to calculate the TX rate for a data frame
      was convoluted with lots of redundant arguments being
      passed around. Remove all of that and make it simple.
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3900898c
    • V
    • S
      ath9k: Remove a bunch of unused macros · 547c3763
      Sujith 提交于
      RX filter masks are already defined in enum ath9k_rx_filter
      in ath9k.h
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      547c3763
    • S
      feed029c
    • L
      ath9k: remove passive scan on 5 GHz if country IE knows better · 7519a8f0
      Luis R. Rodriguez 提交于
      If we have new found information about our location and the
      current country regulatory domain does not have passive scan
      flag requirements we should be able to actively scan now on those
      channels.
      
      Since AP functionality is not allowed where passive scan flags are
      set this means if you have a world regulatory domain and you get a
      country IE that allows that channel (with active scan) then we lift
      the passive-scan requirement so you can then use AP mode.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7519a8f0
    • L
      ath9k: move check for radar freqs into a helper · 547e4c2e
      Luis R. Rodriguez 提交于
      This will be used later.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      547e4c2e
    • L
      ath9k: replace usage of internal wireless_modes for conf · 8c63c46d
      Luis R. Rodriguez 提交于
      No need to use our internal wireless mode variable when
      cfg80211 already has its own.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8c63c46d
    • V
      ath9k: Enable MIB and TIM interrupts for station mode. · 4e30ffa2
      Vivek Natarajan 提交于
      Enable operating mode specific interrupts in ath9k_add_interface instead
      of ath9k_start.
      Signed-off-by: NVivek Natarajan <vnatarajan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4e30ffa2
    • S
      ath9k: Fix lockdep warning · d22b0022
      Sujith 提交于
      This patch fixes the lockdep warning shown below, and also
      initializes the starting sequence number when starting a TX
      aggregation session.
      
       =============================================
       [ INFO: possible recursive locking detected ]
       2.6.29-rc2-wl #21
       ---------------------------------------------
       swapper/0 is trying to acquire lock:
        (_xmit_IEEE80211#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290
      
       but task is already holding lock:
        (_xmit_IEEE80211#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290
      
       other info that might help us debug this:
       7 locks held by swapper/0:
        #0:  (rcu_read_lock){..--}, at: [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620
        #1:  (_xmit_ETHER#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290
        #2:  (rcu_read_lock){..--}, at: [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620
        #3:  (_xmit_IEEE80211#2){-+..}, at: [<ffffffff80456d71>] __qdisc_run+0x221/0x290
        #4:  (rcu_read_lock){..--}, at: [<ffffffffa0154919>] ieee80211_master_start_xmit+0x219/0x6c0 [mac80211]
        #5:  (rcu_read_lock){..--}, at: [<ffffffffa01427c6>] ieee80211_start_tx_ba_session+0x66/0x4e0 [mac80211]
        #6:  (rcu_read_lock){..--}, at: [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620
      
       stack backtrace:
       Pid: 0, comm: swapper Not tainted 2.6.29-rc2-wl #21
       Call Trace:
        <IRQ>  [<ffffffff8026c329>] __lock_acquire+0x1be9/0x1c40
        [<ffffffff80442af1>] dev_queue_xmit+0xe1/0x620
        [<ffffffff8026a8cc>] __lock_acquire+0x18c/0x1c40
        [<ffffffff8026c3d5>] lock_acquire+0x55/0x70
        [<ffffffff80456d71>] __qdisc_run+0x221/0x290
        [<ffffffff804dbeb9>] _spin_lock+0x39/0x50
        [<ffffffff80456d71>] __qdisc_run+0x221/0x290
        [<ffffffff804dbd2f>] _spin_unlock+0x1f/0x50
        [<ffffffff80456d71>] __qdisc_run+0x221/0x290
        [<ffffffff80442d18>] dev_queue_xmit+0x308/0x620
        [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620
        [<ffffffffa0142a63>] ieee80211_start_tx_ba_session+0x303/0x4e0 [mac80211]
        [<ffffffffa01427c6>] ieee80211_start_tx_ba_session+0x66/0x4e0 [mac80211]
        [<ffffffffa0149dae>] rate_control_get_rate+0xae/0xc0 [mac80211]
        [<ffffffffa01526b5>] invoke_tx_handlers+0x655/0x1000 [mac80211]
        [<ffffffff802699fd>] mark_held_locks+0x4d/0x90
        [<ffffffff804dbcf5>] _spin_unlock_irqrestore+0x65/0x80
        [<ffffffffa0151aaa>] __ieee80211_tx_prepare+0x16a/0x310 [mac80211]
        [<ffffffffa0151adc>] __ieee80211_tx_prepare+0x19c/0x310 [mac80211]
        [<ffffffff80439cc2>] pskb_expand_head+0x112/0x190
        [<ffffffffa0154986>] ieee80211_master_start_xmit+0x286/0x6c0 [mac80211]
        [<ffffffffa0154919>] ieee80211_master_start_xmit+0x219/0x6c0 [mac80211]
        [<ffffffff8026a8cc>] __lock_acquire+0x18c/0x1c40
        [<ffffffff80456d8e>] __qdisc_run+0x23e/0x290
        [<ffffffff80442d18>] dev_queue_xmit+0x308/0x620
        [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620
        [<ffffffffa0154221>] ieee80211_subif_start_xmit+0x4a1/0x980 [mac80211]
        [<ffffffffa0153f18>] ieee80211_subif_start_xmit+0x198/0x980 [mac80211]
        [<ffffffff80456d8e>] __qdisc_run+0x23e/0x290
        [<ffffffff80442d18>] dev_queue_xmit+0x308/0x620
        [<ffffffff80442a63>] dev_queue_xmit+0x53/0x620
        [<ffffffffa028ecfd>] ip6_output+0x62d/0x1230 [ipv6]
        [<ffffffff8024ca00>] __mod_timer+0xb0/0xd0
        [<ffffffffa02ad25a>] mld_sendpack+0x3fa/0x4a0 [ipv6]
        [<ffffffffa02ace60>] mld_sendpack+0x0/0x4a0 [ipv6]
        [<ffffffffa02adf90>] mld_ifc_timer_expire+0x0/0x340 [ipv6]
        [<ffffffffa02ae219>] mld_ifc_timer_expire+0x289/0x340 [ipv6]
        [<ffffffffa02adf90>] mld_ifc_timer_expire+0x0/0x340 [ipv6]
        [<ffffffff8024c097>] run_timer_softirq+0x147/0x220
        [<ffffffff802473fb>] __do_softirq+0x9b/0x180
        [<ffffffff80265516>] tick_dev_program_event+0x36/0xb0
        [<ffffffff8020d77c>] call_softirq+0x1c/0x30
        [<ffffffff8020f2c5>] do_softirq+0x65/0xb0
        [<ffffffff80246ebd>] irq_exit+0x9d/0xc0
        [<ffffffff80221db6>] smp_apic_timer_interrupt+0x86/0xd0
        [<ffffffff8020d1b3>] apic_timer_interrupt+0x13/0x20
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d22b0022
  2. 31 1月, 2009 5 次提交
  3. 30 1月, 2009 25 次提交