1. 22 1月, 2015 29 次提交
  2. 20 1月, 2015 1 次提交
  3. 19 1月, 2015 1 次提交
    • E
      iwlwifi: mvm: abort scheduled scan upon RFKILL · 90ea15c1
      Emmanuel Grumbach 提交于
      When we have an active scheduled scan, and the RFKILL
      interrupt kicks in, the stack will cancel the scheduled
      scan as part of the down flow. But cancelling scheduled
      scan usually implies sending a command to the firwmare
      which has been killed as part of the RFKILL interrupt
      handling.
      Because of that, we returned an error to mac80211 when
      it asked to stop the scheduled scan and didn't notify the
      end of the scheduled scan. Besides a fat warning, this led
      to a situation in which cfg80211 would refuse any new scan
      request.
      
      To disentangle this, fake that the scheduled scan has been
      stopped without sending the command to the firwmare, return
      0 after having properly let cfg80211 know that the scan
      has been cancelled.
      
      This is basically the same as:
      commit 9b520d84
      Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
      Date:   Tue Nov 4 15:54:11 2014 +0200
      
          iwlwifi: mvm: abort scan upon RFKILL
      
          This code existed but not for all the different FW APIs
          we support.
          Fix this.
      
      but for the scheduled scan case.
      
      Link: http://permalink.gmane.org/gmane.linux.kernel.wireless.general/133232Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      90ea15c1
  4. 16 1月, 2015 1 次提交
    • J
      cfg80211: change bandwidth reporting to explicit field · b51f3bee
      Johannes Berg 提交于
      For some reason, we made the bandwidth separate flags, which
      is rather confusing - a single rate cannot have different
      bandwidths at the same time.
      
      Change this to no longer be flags but use a separate field
      for the bandwidth ('bw') instead.
      
      While at it, add support for 5 and 10 MHz rates - these are
      reported as regular legacy rates with their real bitrate,
      but tagged as 5/10 now to make it easier to distinguish them.
      
      In the nl80211 API, the flags are preserved, but the code
      now can also clearly only set a single one of the flags.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b51f3bee
  5. 13 1月, 2015 1 次提交
    • E
      iwlwifi: mvm: set the tx cmd tid for BAR frame correctly · 9b3b43d8
      Eyal Shapira 提交于
      BAR tx cmd tid was set to non qos (8). This is wrong as BAR
      should be sent with the tid of the BA session.
      This led to a corruption in the firmware. The visible
      effect of this from the driver side is the BA notification
      that comes back after the BAR. It was botched and led to the
      WARNING below.
      
      ------------[ cut here ]------------
      WARNING: CPU: 2 PID: 17707 at /home/tester/workspace_hostap/iwlwifi/drivers/net/wireless/iwlwifi/mvm/tx.c:976 iwl_mvm_rx_ba_notif+0x4ba/0x4d0 [iwlmvm]()
      Q 4500, tid 8, flow 65535
      Modules linked in: iwlmvm(O) mac80211(O) iwlwifi(O) cfg80211(O) compat(O) netconsole configfs ctr ccm arc4 autofs4 microcode bnep rfcomm snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic snd_hda_intel joydev snd_hda_codec uvcvideo videobuf2_core snd_hwdep videodev snd_pcm videobuf2_vmalloc videobuf2_memops i915 snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device drm_kms_helper dell_wmi dell_laptop drm btusb bluetooth snd psmouse i2c_algo_bit sparse_keymap wmi soundcore 6lowpan_iphc dcdbas serio_raw video lpc_ich ppdev mac_hid parport_pc nfsd nfs_acl auth_rpcgss nfs fscache binfmt_misc lockd sunrpc lp parport msdos sdhci_pci sdhci mmc_core ahci libahci e1000e ptp pps_core [last unloaded: compat]
      CPU: 2 PID: 17707 Comm: irq/46-iwlwifi Tainted: G        W  O 3.14.17-patched #4
      Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
       00000000 00000000 ebd49d6c c1616221 f985dbdc ebd49d9c c1044e44 f9861df4
       ebd49dc8 0000452b f985dbdc 000003d0 f98395da f98395da ebd49f10 eaf3d8a4
       0000ffff ebd49db4 c1044f03 00000009 ebd49dac f9861df4 ebd49dc8 ebd49e64
      Call Trace:
       [<c1616221>] dump_stack+0x41/0x52
       [<c1044e44>] warn_slowpath_common+0x84/0xa0
       [<f98395da>] ? iwl_mvm_rx_ba_notif+0x4ba/0x4d0 [iwlmvm]
       [<f98395da>] ? iwl_mvm_rx_ba_notif+0x4ba/0x4d0 [iwlmvm]
       [<c1044f03>] warn_slowpath_fmt+0x33/0x40
       [<f98395da>] iwl_mvm_rx_ba_notif+0x4ba/0x4d0 [iwlmvm]
       [<c10e3952>] ? ring_buffer_unlock_commit+0xa2/0xd0
       [<c10e9767>] ? trace_buffer_unlock_commit+0x37/0x50
       [<f98568a3>] ? iwl_tm_mvm_send_rx+0x53/0x90 [iwlmvm]
       [<f98327a8>] iwl_mvm_rx_dispatch+0x108/0x130 [iwlmvm]
       [<f9eac7e7>] iwl_pcie_irq_handler+0xf17/0x15b0 [iwlwifi]
       [<c10994c1>] irq_thread_fn+0x21/0x50
       [<c109926c>] irq_thread+0xec/0x110
       [<c10994a0>] ? irq_thread_dtor+0xb0/0xb0
       [<c10993f0>] ? irq_finalize_oneshot.part.34+0xc0/0xc0
       [<c1099180>] ? wake_threads_waitq+0x40/0x40
       [<c1062fdb>] kthread+0x9b/0xb0
       [<c1627137>] ret_from_kernel_thread+0x1b/0x28
       [<c1062f40>] ? flush_kthread_worker+0x90/0x90
      ---[ end trace 5e0f67374816db17 ]---
      Signed-off-by: NEyal Shapira <eyalx.shapira@intel.com>
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      9b3b43d8
  6. 12 1月, 2015 2 次提交
  7. 09 1月, 2015 1 次提交
  8. 08 1月, 2015 3 次提交
    • J
      cfg80211: remove enum station_info_flags · 319090bf
      Johannes Berg 提交于
      This is really just duplicating the list of information that's
      already available in the nl80211 attribute, so remove the list.
      Two small changes are needed:
       * remove STATION_INFO_ASSOC_REQ_IES complete, but the length
         (assoc_req_ies_len) can be used instead
       * add NL80211_STA_INFO_RX_DROP_MISC which exists internally
         but not in nl80211 yet
      
      This gets rid of the duplicate maintenance of the two lists.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      319090bf
    • J
      mac80211: allow drivers to provide most station statistics · 2b9a7e1b
      Johannes Berg 提交于
      In many cases, drivers can filter things like beacons that will
      skew statistics reported by mac80211. To get correct statistics
      in these cases, call drivers to obtain statistics and let them
      override all values, filling values from mac80211 if the driver
      didn't provide them. Not all of them make sense for the driver
      to fill, so some are still always done by mac80211.
      
      Note that this doesn't currently allow a driver to say "I know
      this value is wrong, don't report it at all", or to sum it up
      with a mac80211 value (as could be useful for "dropped misc"),
      that can be added if it turns out to be needed.
      
      This also gets rid of the get_rssi() method as is can now be
      implemented using sta_statistics().
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      2b9a7e1b
    • J
      cfg80211: remove "channel" from survey names · 4ed20beb
      Johannes Berg 提交于
      All of the survey data is (currently) per channel anyway,
      so having the word "channel" in the name does nothing. In
      the next patch I'll introduce global data to the survey,
      where the word "channel" is actually confusing.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4ed20beb
  9. 07 1月, 2015 1 次提交
    • I
      mac80211: Re-fix accounting of the tailroom-needed counter · db12847c
      Ido Yariv 提交于
      When hw acceleration is enabled, the GENERATE_IV or PUT_IV_SPACE flags
      only require headroom space. Therefore, the tailroom-needed counter can
      safely be decremented for most drivers.
      
      The older incarnation of this patch (ca34e3b5) assumed that the above
      holds true for all drivers. As reported by Christopher Chavez and
      researched by Christian Lamparter and Larry Finger, this isn't a valid
      assumption for p54 and cw1200.
      
      Drivers that still require tailroom for ICV/MIC even when HW encryption
      is enabled can use IEEE80211_KEY_FLAG_RESERVE_TAILROOM to indicate it.
      Signed-off-by: NIdo Yariv <idox.yariv@intel.com>
      Cc: Christopher Chavez <chrischavez@gmx.us>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Solomon Peachy <pizza@shaftnet.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      db12847c