1. 25 Jun, 2013 4 commits
    • Johannes Berg's avatar
      iwlwifi: pcie: rework RX buffer list init and freeing · c7df1f4b
      Johannes Berg authored
      The PCIe code has an array of buffer descriptors (RXBs) that have pages
      and DMA mappings attached. In regular use, the array isn't used and the
      buffers are either on the hardware receive queue or the rx_free/rx_used
      lists for recycling.
      
      Occasionally, during module unload, we'd see a warning from this:
      
      WARNING: at lib/list_debug.c:32 __list_add+0x91/0xa0()
      list_add corruption. prev->next should be next (c31c98cc), but was c31c80bc. (prev=c31c80bc).
      Pid: 519, comm: rmmod Tainted: G        W  O 3.4.24-dev #3
      Call Trace:
       [<c10335b2>] warn_slowpath_common+0x72/0xa0
       [<c1033683>] warn_slowpath_fmt+0x33/0x40
       [<c12e31d1>] __list_add+0x91/0xa0
       [<fdf2083c>] iwl_pcie_rxq_free_rbs+0xcc/0xe0 [iwlwifi]
       [<fdf21b3f>] iwl_pcie_rx_free+0x3f/0x210 [iwlwifi]
       [<fdf2dd7a>] iwl_trans_pcie_free+0x2a/0x90 [iwlwifi]
      
      The reason for this seems to be that in iwl_pcie_rxq_free_rbs() we use
      the array to free all buffers (the hardware receive queue isn't in use
      any more at this point). The function also adds all buffers to rx_used
      because it's also used during initialisation (when no freeing happens.)
      This can cause the warning because it may add entries to the list that
      are already on it. Luckily, this is harmless because it can only happen
      when the entire data structure is freed anyway, since during init both
      lists are initialized from scratch.
      
      Disentangle this code and treat init and free separately. During init
      we just need to put them onto the list after freeing all buffers (for
      switching between 4k/8k buffers); during free no list manipulations
      are necessary at all.
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      c7df1f4b
    • Ilan Peer's avatar
      iwlwifi: mvm: Change the settings of AP beacon time · 3a3cb92e
      Ilan Peer authored
      In case that an AP/GO interface is started while there is a
      station/P2P client associated, need to make sure that the AP/GO
      beacon time is far enough from the station's one in oder to allow
      the station to receive the DTIM beacons and the following traffic
      etc.
      
      To resolve this, when the AP is started, check if there is an
      active station interface, and guarantee that the AP/GO TBTT is far
      enough from the station one.
      Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      3a3cb92e
    • eytan lifshitz's avatar
      iwlwifi: mvm: add thermal throttling debugging · dafe6c43
      eytan lifshitz authored
      Add prints visible to the user when entering and exiting
      thrermal throttling, because so users can tell that the
      NIC is getting too hot (and throughput will decrease.)
      Signed-off-by: default avatareytan lifshitz <eytan.lifshitz@intel.com>
      Reviewed-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      dafe6c43
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: add BT-Coex LUT for 1x1 products · e715c3a9
      Emmanuel Grumbach authored
      1x1 products will need a special LUT.
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      e715c3a9
  2. 18 Jun, 2013 5 commits
  3. 17 Jun, 2013 1 commit
  4. 13 Jun, 2013 9 commits
  5. 11 Jun, 2013 11 commits
  6. 10 Jun, 2013 8 commits
  7. 05 Jun, 2013 2 commits