1. 10 12月, 2013 9 次提交
  2. 26 11月, 2013 12 次提交
    • L
      iwlwifi: mvm: use a cast to calculate the last seqno from the next one · 3c5da7ee
      Luciano Coelho 提交于
      If the next seqno returned by the firmware is 0, we return an error
      (-16) in the iwl_mvm_get_last_nonqos_seq() function.  This is because
      we return an integer and don't use any casting when calculating the
      last seqno from the one we received.  Fix this by using a cast to u16
      when doing the calculation, so we return 0xfff0, as we should.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3c5da7ee
    • L
      iwlwifi: mvm: set seqno also when no keys are set · cfa88893
      Luciano Coelho 提交于
      In an open BSS, after suspend/resume, we don't set the last seqno
      because the iwl_mvm_setup_connection_keep() returns too early.  This
      happens because the check to see if we have any keys was returning
      immediately, without setting seqno and seqno_valid.  Fix this.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      cfa88893
    • A
      iwlwifi: pcie: stop sending commands to dead firmware · 6860bd15
      Alexander Bondar 提交于
      If we call ieee80211_hw_restart, it means that the
      firmware is in bad condition and will be reset soon.
      Since the firmware will be reset, there is no good
      reason to keep sending host commands.
      Signed-off-by: NAlexander Bondar <alexander.bondar@intel.com>
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6860bd15
    • E
      iwlwifi: bump required firmware API version for 3160/7260 · 3fde33b7
      Emmanuel Grumbach 提交于
      A new firmware is coming out soon with new APIs.
      To make sure that this new firmware won't be loaded on old
      driver that don't support it, it's API version has been
      updated to 8. In order to be able to load it, bump the API
      version to 8.
      API version 7 is still supported and will be for another
      year or so.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      3fde33b7
    • E
      iwlwifi: mvm: don't WARN about unsuccessful time event · 9fc3fe96
      Emmanuel Grumbach 提交于
      Time event notification can have a failure status even if
      the time event was scheduled:
      * in START notification, this can happen if the time event
        was scheduled later than the requested apply time.
      * in STOP notification, this can happen if the time event
        is truncated.
      
      Even if both happened, the offchannel packets sent during
      the remain on channel are very likely to have been sent.
      Hence, don't WARN when this happens, but rather print a
      discrete line in the kernel log.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      9fc3fe96
    • E
      iwlwifi: mvm: BT Coex fix another NULL pointer dereference · 56c07a9c
      Emmanuel Grumbach 提交于
      This patch is very similar to a previous fix: 22cba0c0
      
      When we disassociate, mac80211 removes the station and
      then, it sets the bss it unsets the assoc bool in bss_info.
      
      Since the firwmware wants it the opposite (first set the
      MAC context as unassoc, and only then, remove the STA of
      the API), we have a small period of time in which the STA
      in firmware doesn't have a valid ieee80211_sta pointer.
      During that time, iwl_mvm_vif->ap_sta_id, is still set
      to the STA in firmware that represent the AP.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      56c07a9c
    • E
      iwlwifi: mvm: BT Coex - don't enable MULTI_PRIO_LUT · a338f1ef
      Emmanuel Grumbach 提交于
      This feature isn't supported by the firmware (yet).
      Note that settingt he values to BT_CFG_CMD is harmless if
      the validity bit is clear - so keep the configuration
      values in BT_CFG_CMD, but clear the validity bit until thes
      feature is enabled in the firmware.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      a338f1ef
    • O
      iwlwifi: add new HW - 7265 series · 53e88cb1
      Oren Givon 提交于
      Add new HW IDs and configurations for 7265 series.
      Signed-off-by: NOren Givon <oren.givon@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      53e88cb1
    • E
      iwlwifi: pcie: fix interrupt coalescing for 7260 / 3160 · 6960a059
      Emmanuel Grumbach 提交于
      We changed the timeout for the interrupt coealescing for
      calibration, but that wasn't effective since we changed
      that value back before loading the firmware. Since
      calibrations are notification from firmware and not Rx
      packets, this doesn't change anyway - the firmware will
      fire an interrupt straight away regardless of the interrupt
      coalescing value.
      Also, a HW issue has been discovered in 7000 devices series.
      The work around is to disable the new interrupt coalescing
      timeout feature - do this by setting bit 31 in
      CSR_INT_COALESCING.
      This has been fixed in 7265 which means that we can't rely
      on the device family and must have a hint in the iwl_cfg
      structure.
      
      Cc: stable@vger.kernel.org [3.10+]
      Fixes: 99cd4714 ("iwlwifi: add 7000 series device configuration")
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6960a059
    • J
      iwlwifi: mvm: check sta_id/drain values in debugfs · 60765a47
      Johannes Berg 提交于
      The station ID must be valid, if it's out of range then
      the array access may crash. Validate the station ID to
      the array length, and also validate the drain value even
      if that doesn't matter all that much.
      
      Cc: stable@vger.kernel.org
      Fixes: 8ca151b5 ("iwlwifi: add the MVM driver")
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      60765a47
    • L
      cfg80211: move regulatory flags to their own variable · a2f73b6c
      Luis R. Rodriguez 提交于
      We'll expand this later, this will make it easier to
      classify and review what things are related to regulatory
      or not.
      
      Coccinelle only missed 4 hits, which I had to do manually,
      supplying the SmPL in case of merge conflicts.
      
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY
      +wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG
      @@
      expression e;
      @@
      -e->flags |= WIPHY_FLAG_CUSTOM_REGULATORY
      +e->regulatory_flags |= REGULATORY_CUSTOM_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags &= ~WIPHY_FLAG_CUSTOM_REGULATORY
      +wiphy->regulatory_flags &= ~REGULATORY_CUSTOM_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags & WIPHY_FLAG_CUSTOM_REGULATORY
      +wiphy->regulatory_flags & REGULATORY_CUSTOM_REG
      
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY
      +wiphy->regulatory_flags |= REGULATORY_STRICT_REG
      @@
      expression e;
      @@
      -e->flags |= WIPHY_FLAG_STRICT_REGULATORY
      +e->regulatory_flags |= REGULATORY_STRICT_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags &= ~WIPHY_FLAG_STRICT_REGULATORY
      +wiphy->regulatory_flags &= ~REGULATORY_STRICT_REG
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY
      +wiphy->regulatory_flags & REGULATORY_STRICT_REG
      
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags |= WIPHY_FLAG_DISABLE_BEACON_HINTS
      +wiphy->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS
      @@
      expression e;
      @@
      -e->flags |= WIPHY_FLAG_DISABLE_BEACON_HINTS
      +e->regulatory_flags |= REGULATORY_DISABLE_BEACON_HINTS
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags &= ~WIPHY_FLAG_DISABLE_BEACON_HINTS
      +wiphy->regulatory_flags &= ~REGULATORY_DISABLE_BEACON_HINTS
      @@
      struct wiphy *wiphy;
      @@
      -wiphy->flags & WIPHY_FLAG_DISABLE_BEACON_HINTS
      +wiphy->regulatory_flags & REGULATORY_DISABLE_BEACON_HINTS
      
      Generated-by: Coccinelle SmPL
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      Cc: Peter Senna Tschudin <peter.senna@gmail.com>
      Cc: Mihir Shete <smihir@qti.qualcomm.com>
      Cc: Henri Bahini <hbahini@qca.qualcomm.com>
      Cc: Tushnim Bhattacharyya <tushnimb@qca.qualcomm.com>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [fix up whitespace damage, overly long lines]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a2f73b6c
    • L
      cfg80211: consolidate passive-scan and no-ibss flags · 8fe02e16
      Luis R. Rodriguez 提交于
      These two flags are used for the same purpose, just
      combine them into a no-ir flag to annotate no initiating
      radiation is allowed.
      
      Old userspace sending either flag will have it treated as
      the no-ir flag. To be considerate to older userspace we
      also send both the no-ir flag and the old no-ibss flags.
      Newer userspace will have to be aware of older kernels.
      
      Update all places in the tree using these flags with the
      following semantic patch:
      
      @@
      @@
      -NL80211_RRF_PASSIVE_SCAN
      +NL80211_RRF_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IBSS
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_PASSIVE_SCAN
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IBSS
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -NL80211_RRF_NO_IR | NL80211_RRF_NO_IR
      +NL80211_RRF_NO_IR
      @@
      @@
      -IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_NO_IR
      +IEEE80211_CHAN_NO_IR
      @@
      @@
      -(NL80211_RRF_NO_IR)
      +NL80211_RRF_NO_IR
      @@
      @@
      -(IEEE80211_CHAN_NO_IR)
      +IEEE80211_CHAN_NO_IR
      
      Along with some hand-optimisations in documentation, to
      remove duplicates and to fix some indentation.
      Signed-off-by: NLuis R. Rodriguez <mcgrof@do-not-panic.com>
      [do all the driver updates in one go]
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8fe02e16
  3. 31 10月, 2013 1 次提交
  4. 30 10月, 2013 1 次提交
  5. 29 10月, 2013 7 次提交
    • J
      iwlwifi: warn if firmware image doesn't exist · befe9b6f
      Johannes Berg 提交于
      If the firmware image that we attempt to load doesn't
      actually exist we have a broken firmware file or other
      code not checking things correctly, so warn in such a
      case. Also avoid assigning cur_ucode/ucode_loaded then.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      befe9b6f
    • J
      iwlwifi: mvm: add missing break in debugfs · cbb346f2
      Johannes Berg 提交于
      When writing the disable_power_off value, the LPRX
      enable value also gets written unintentionally, so
      fix that by adding the missing break statement.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      cbb346f2
    • J
      iwlwifi: mvm: capture the FCS in monitor mode · fb8b8ee1
      Johannes Berg 提交于
      This can be useful when using the device as a sniffer.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      fb8b8ee1
    • J
      iwlwifi: pcie: move warning message into warning · bcbb8c9c
      Johannes Berg 提交于
      Having a WARN_ON() followed by a printed message is
      less useful than having the message in the warning
      so move the message.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      bcbb8c9c
    • E
      iwlwifi: mvm: BT Coex fix NULL pointer dereference · 22cba0c0
      Emmanuel Grumbach 提交于
      When we disassociate, mac80211 removes the station and
      then, it sets the bss it unsets the assoc bool in bss_info.
      
      Since the firwmware wants it the opposite (first set the
      MAC context as unassoc, and only then, remove the STA of
      the API), we have a small period of time in which the STA
      in firmware doesn't have a valid ieee80211_sta pointer.
      During that time, iwl_mvm_vif->ap_sta_id, is still set
      to the STA in firmware that represent the AP.
      
      This avoids:
      
      [ 4481.476246] BUG: unable to handle kernel NULL pointer dereference at 00000045
      [ 4481.479521] IP: [<f8416a6a>] iwl_mvm_bt_coex_reduced_txp+0x7a/0x190 [iwlmvm]
      [ 4481.482023] *pde = 00000000
      [ 4481.484332] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
      [ 4481.486897] Modules linked in: netconsole configfs autofs4 rfcomm(O) bnep(O) nfsd nfs_acl auth_rpcgss exportfs nfs lockd binfmt_misc sunrpc fscache arc4 iwlmvm(O) mac80211(O) btusb(O) iwlwifi(O) bluetooth(O) cfg80211(O) snd_hda_codec_hdmi coretemp dell_wmi snd_hda_codec_idt compat(O) dell_laptop aesni_intel i915 sparse_keymap dcdbas cryptd psmouse serio_raw aes_i586 microcode snd_hda_intel drm_kms_helper snd_hda_codec drm snd_pcm snd_timer i2c_algo_bit video intel_agp intel_gtt snd soundcore snd_page_alloc crc32c_intel ahci sdhci_pci libahci sdhci mmc_core e1000e xhci_hcd [last unloaded: configfs]
      [ 4481.502983]
      [ 4481.505599] Pid: 6507, comm: kworker/0:1 Tainted: G           O 3.4.43-dev #1 Dell Inc. Latitude E6430/0CMDYV
      [ 4481.508575] EIP: 0060:[<f8416a6a>] EFLAGS: 00010246 CPU: 0
      [ 4481.511248] EIP is at iwl_mvm_bt_coex_reduced_txp+0x7a/0x190 [iwlmvm]
      [ 4481.513947] EAX: ffffffea EBX: 00000002 ECX: 00000001 EDX: 00000001
      [ 4481.516710] ESI: ec6f0f28 EDI: 00000000 EBP: e8175dfc ESP: e8175d9c
      [ 4481.519445]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      [ 4481.522185] CR0: 8005003b CR2: 00000045 CR3: 01a5e000 CR4: 001407d0
      [ 4481.524950] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      [ 4481.527768] DR6: ffff0ff0 DR7: 00000400
      [ 4481.530565] Process kworker/0:1 (pid: 6507, ti=e8174000 task=e8032b20 task.ti=e8174000)
      [ 4481.533447] Stack:
      [ 4481.536379]  e472439f 00003a12 e8032b20 e8033048 00000001 e8175ddc 00000246 e8033040
      [ 4481.540132]  00000002 01814990 ec4d1ddc e8175dcc 00000000 00000000 00000000 00000000
      [ 4481.543867]  00000000 00000000 00000001 000001c8 009b0002 ec4d1ddc ec6f0f28 00000000
      [ 4481.547633] Call Trace:
      [ 4481.550578]  [<f8418027>] iwl_mvm_bt_rssi_event+0x197/0x220 [iwlmvm]
      [ 4481.553537]  [<f840919c>] iwl_mvm_stat_iterator+0xdc/0x240 [iwlmvm]
      [ 4481.556582]  [<f8d129c2>] __iterate_active_interfaces+0xe2/0x1f0 [mac80211]
      [ 4481.559544]  [<f84090c0>] ? iwl_mvm_update_smps+0x90/0x90 [iwlmvm]
      [ 4481.562519]  [<f84090c0>] ? iwl_mvm_update_smps+0x90/0x90 [iwlmvm]
      [ 4481.565498]  [<f8d12b0c>] ieee80211_iterate_active_interfaces+0x3c/0x50 [mac80211]
      [ 4481.568421]  [<f8409b43>] iwl_mvm_rx_statistics+0xb3/0x130 [iwlmvm]
      [ 4481.571349]  [<f8405431>] iwl_mvm_async_handlers_wk+0xc1/0xf0 [iwlmvm]
      [ 4481.574251]  [<c1052915>] ? process_one_work+0x105/0x5c0
      [ 4481.577162]  [<c1052991>] process_one_work+0x181/0x5c0
      [ 4481.580025]  [<c1052915>] ? process_one_work+0x105/0x5c0
      [ 4481.582861]  [<f8405370>] ? iwl_mvm_rx_fw_logs+0x20/0x20 [iwlmvm]
      [ 4481.585722]  [<c10530f1>] worker_thread+0x121/0x2c0
      [ 4481.588536]  [<c1052fd0>] ? rescuer_thread+0x1d0/0x1d0
      [ 4481.591323]  [<c105af0d>] kthread+0x7d/0x90
      [ 4481.594059]  [<c105ae90>] ? flush_kthread_worker+0x120/0x120
      [ 4481.596868]  [<c15b7cc2>] kernel_thread_helper+0x6/0x10
      [ 4481.599605] Code: 9d de c3 c8 85 c0 74 0d 80 3d f8 ae 42 f8 00 0f 84 dc 00 00 00 8b 45 c8 0f b6 d3 31 ff 89 55 c0 8b 84 90 d8 03 00 00 0f b6 55 c7 <38> 50 5b 89 45 bc 0f 84 a8 00 00 00 a1 e4 d2 04 c2 85 c0 0f 84
      [ 4481.611782] EIP: [<f8416a6a>] iwl_mvm_bt_coex_reduced_txp+0x7a/0x190 [iwlmvm] SS:ESP 0068:e8175d9c
      [ 4481.614985] CR2: 0000000000000045
      [ 4481.687441] ---[ end trace b11bc915fbac4412 ]---
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      22cba0c0
    • J
      iwlwifi: transport config n_no_reclaim_cmds should be unsigned · 84cf0e62
      Johannes Berg 提交于
      The number of commands can never be negative, so it should
      be using an unsigned type. This also shuts up an smatch
      warning elsewhere in the code.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      84cf0e62
    • A
      iwlwifi: mvm: update UAPSD support TLV bits · e8e626ad
      Alexander Bondar 提交于
      Change old UAPSD bit to PM_CMD_SUPPORT, and add a new bit to indicate
      real UAPSD support.
      Don't use UAPSD when the firmware doesn't support it.
      Signed-off-by: NDavid Spinadel <david.spinadel@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      e8e626ad
  6. 18 10月, 2013 6 次提交
    • E
      iwlwifi: dvm: don't override mac80211's queue setting · f6b12952
      Emmanuel Grumbach 提交于
      Since we set IEEE80211_HW_QUEUE_CONTROL, we can let
      mac80211 do the queue assignement and don't need to
      override its decisions.
      While reassiging the same values is harmless of course,
      it triggered  a WARNING when iwlwifi and mac80211 came
      to different conclusions. This happened when mac80211 set
      IEEE80211_TX_CTL_SEND_AFTER_DTIM, but didn't route the
      packet to the cab_queue because no stations were asleep.
      
      iwlwifi should not override mac80211's decicions for
      offchannel packets and packets to  be sent after DTIM,
      but it should override mac80211's decision for AMPDUs
      since we have a special queue for them. So for AMPDU,
      we still override info->hw_queue by the AMPDU queue.
      
      This avoids:
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 2531 at drivers/net/wireless/iwlwifi/dvm/tx.c:456 iwlagn_tx_skb+0x6c5/0x883()
      Modules linked in:
      CPU: 0 PID: 2531 Comm: hostapd Not tainted 3.12.0-rc5+ #1
      Hardware name:                  /D53427RKE, BIOS RKPPT10H.86A.0017.2013.0425.1251 04/25/2013
       0000000000000000 0000000000000009 ffffffff8189aa62 0000000000000000
       ffffffff8105a4f2 ffff880058339a48 ffffffff815f8a04 0000000000000000
       ffff8800560097b0 0000000000000208 0000000000000000 ffff8800561a9e5e
      Call Trace:
       [<ffffffff8189aa62>] ? dump_stack+0x41/0x51
       [<ffffffff8105a4f2>] ? warn_slowpath_common+0x78/0x90
       [<ffffffff815f8a04>] ? iwlagn_tx_skb+0x6c5/0x883
       [<ffffffff815f8a04>] ? iwlagn_tx_skb+0x6c5/0x883
       [<ffffffff818a0040>] ? put_cred+0x15/0x15
       [<ffffffff815f6db4>] ? iwlagn_mac_tx+0x19/0x2f
       [<ffffffff8186cc45>] ? __ieee80211_tx+0x226/0x29b
       [<ffffffff8186e6bd>] ? ieee80211_tx+0xa6/0xb5
       [<ffffffff8186e98b>] ? ieee80211_monitor_start_xmit+0x1e9/0x204
       [<ffffffff8171ce5f>] ? dev_hard_start_xmit+0x271/0x3ec
       [<ffffffff817351ac>] ? sch_direct_xmit+0x66/0x164
       [<ffffffff8171d1bf>] ? dev_queue_xmit+0x1e5/0x3c8
       [<ffffffff817fac5a>] ? packet_sendmsg+0xac5/0xb3d
       [<ffffffff81709a09>] ? sock_sendmsg+0x37/0x52
       [<ffffffff810f9e0c>] ? __do_fault+0x338/0x36b
       [<ffffffff81713820>] ? verify_iovec+0x44/0x94
       [<ffffffff81709e63>] ? ___sys_sendmsg+0x1f1/0x283
       [<ffffffff81140a73>] ? __inode_wait_for_writeback+0x67/0xae
       [<ffffffff8111735e>] ? __cache_free.isra.46+0x178/0x187
       [<ffffffff811173b1>] ? kmem_cache_free+0x44/0x84
       [<ffffffff81132c22>] ? dentry_kill+0x13d/0x149
       [<ffffffff81132f6f>] ? dput+0xe5/0xef
       [<ffffffff81136e04>] ? fget_light+0x2e/0x7c
       [<ffffffff8170ae62>] ? __sys_sendmsg+0x39/0x57
       [<ffffffff818a7e39>] ? system_call_fastpath+0x16/0x1b
      ---[ end trace 1b3eb79359c1d1e6 ]---
      Reported-by: NSander Eikelenboom <linux@eikelenboom.it>
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      f6b12952
    • D
      iwlwifi: mvm: fix operator precedence · 246dd992
      David Spinadel 提交于
      Integers need to be multiplied before division.
      Signed-off-by: NDavid Spinadel <david.spinadel@intel.com>
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      246dd992
    • L
      iwlwifi: mvm: fix fw_rx_stats debugfs entry · 3f617281
      Luciano Coelho 提交于
      The fw_rx_stats entry in debugfs was getting truncated because the
      internal buffer used to hold the string was too short.  The
      calculation of the needed buffer size was rather bogus.
      
      Simplify the calculation by multiplying the number of entries in the
      entire structure by the size of each data line and adding the size of
      the header lines.
      
      Additionally, add the mac_id value, which was missing.
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      3f617281
    • E
      iwlwifi: mvm: BT Coex - enable Tx power based on BT status · 0af8835e
      Emmanuel Grumbach 提交于
      The activity grading indication from the firmware should
      not be used in this case, but the bt_status in the firwmare
      notification.
      Fix that.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      0af8835e
    • E
      iwlwifi: mvm: BT Coex - always set mandatory fields · 7352cac0
      Emmanuel Grumbach 提交于
      The firmware always expects the Coex Mode to be set.
      Moreover, the firmware expects bit 0 is the valid bits to
      be set all the times.
      I misunderstood the API and didn't set these bits when
      commands are sent to update the paramters of the Coex. As
      a result, the firmware understood that the BT Coex was
      disabled (Coex mode = 0) and ignored all the updates (valid
      bit 0 clear).
      
      Fix that.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      7352cac0
    • I
      iwlwifi: mvm: NVM - increase max section size · 8a87bddd
      Idan Kahlon 提交于
      Section size limitation to 6000 is incorrect.
      NVM file need to support bigger sections in order
      to support PAPD tables.
      Signed-off-by: NIdan Kahlon <idanx.kahlon@intel.com>
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: NMaor Perez <maorx.perez@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8a87bddd
  7. 11 10月, 2013 4 次提交