1. 04 4月, 2013 7 次提交
  2. 02 4月, 2013 1 次提交
  3. 28 3月, 2013 1 次提交
    • J
      iwlwifi: dvm: fix the passive-no-RX workaround · b8730b40
      Johannes Berg 提交于
      Alex Romosan reported that since the mac80211 changes in
      "mac80211: start auth/assoc timeout on frame status" and
      the subsequent fixes in "mac80211: fix auth/assoc timeout
      handling" (commits 1672c0e3 and 89afe614) there's
      sometimes an issue connecting to a 5 GHz network with the
      iwlwifi DVM driver.
      
      The reason appears to be that since these commits any bad
      TX status makes mac80211 immediately try again, causing
      all of the authentication attempts to be quickly rejected
      by the firmware as it hasn't heard a beacon yet. Before,
      it would wait for the timeout regardless of status.
      
      To fix this, invoke the passive-no-RX workaround when not
      associated yet as well. This will cause the first frame
      to get lost, but then the driver will stop the queues and
      the second attempt will only be transmitted after hearing
      a beacon, thus delaying it appropriately to not make the
      firmware reject it again.
      Reported-by: NAlex Romosan <romosan@sycorax.lbl.gov>
      Tested-by: NAlex Romosan <romosan@sycorax.lbl.gov>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b8730b40
  4. 27 3月, 2013 6 次提交
  5. 26 3月, 2013 1 次提交
  6. 20 3月, 2013 3 次提交
  7. 19 3月, 2013 7 次提交
  8. 14 3月, 2013 2 次提交
  9. 09 3月, 2013 2 次提交
    • L
      rtlwifi: rtl8192cu: Fix schedule while atomic bug splat · 66489978
      Larry Finger 提交于
      When run at debug 3 or higher, rtl8192cu reports a BUG as follows:
      
      BUG: scheduling while atomic: kworker/u:0/5281/0x00000002
      INFO: lockdep is turned off.
      Modules linked in: rtl8192cu rtl8192c_common rtlwifi fuse af_packet bnep bluetooth b43 mac80211 cfg80211 ipv6 snd_hda_codec_conexant kvm_amd k
      vm snd_hda_intel snd_hda_codec bcma rng_core snd_pcm ssb mmc_core snd_seq snd_timer snd_seq_device snd i2c_nforce2 sr_mod pcmcia forcedeth i2c_core soundcore
       cdrom sg serio_raw k8temp hwmon joydev ac battery pcmcia_core snd_page_alloc video button wmi autofs4 ext4 mbcache jbd2 crc16 thermal processor scsi_dh_alua
       scsi_dh_hp_sw scsi_dh_rdac scsi_dh_emc scsi_dh ata_generic pata_acpi pata_amd [last unloaded: rtlwifi]
      Pid: 5281, comm: kworker/u:0 Tainted: G        W    3.8.0-wl+ #119
      Call Trace:
       [<ffffffff814531e7>] __schedule_bug+0x62/0x70
       [<ffffffff81459af0>] __schedule+0x730/0xa30
       [<ffffffff81326e49>] ? usb_hcd_link_urb_to_ep+0x19/0xa0
       [<ffffffff8145a0d4>] schedule+0x24/0x70
       [<ffffffff814575ec>] schedule_timeout+0x18c/0x2f0
       [<ffffffff81459ec0>] ? wait_for_common+0x40/0x180
       [<ffffffff8133f461>] ? ehci_urb_enqueue+0xf1/0xee0
       [<ffffffff810a579d>] ? trace_hardirqs_on+0xd/0x10
       [<ffffffff81459f65>] wait_for_common+0xe5/0x180
       [<ffffffff8107d1c0>] ? try_to_wake_up+0x2d0/0x2d0
       [<ffffffff8145a08e>] wait_for_completion_timeout+0xe/0x10
       [<ffffffff8132ab1c>] usb_start_wait_urb+0x8c/0x100
       [<ffffffff8132adf9>] usb_control_msg+0xd9/0x130
       [<ffffffffa057dd8d>] _usb_read_sync+0xcd/0x140 [rtlwifi]
       [<ffffffffa057de0e>] _usb_read32_sync+0xe/0x10 [rtlwifi]
       [<ffffffffa04b0555>] rtl92cu_update_hal_rate_table+0x1a5/0x1f0 [rtl8192cu]
      
      The cause is a synchronous read from routine rtl92cu_update_hal_rate_table().
      The resulting output is not critical, thus the debug statement is
      deleted.
      Reported-by: NJussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      66489978
    • B
      mwifiex: fix potential out-of-boundary access to ibss rate table · 5f0fabf8
      Bing Zhao 提交于
      smatch found this error:
      
      CHECK   drivers/net/wireless/mwifiex/join.c
        drivers/net/wireless/mwifiex/join.c:1121
        mwifiex_cmd_802_11_ad_hoc_join()
        error: testing array offset 'i' after use.
      
      Cc: <stable@vger.kernel.org> # 3.0+
      Signed-off-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5f0fabf8
  10. 04 3月, 2013 7 次提交
  11. 28 2月, 2013 3 次提交
    • J
      iwlwifi: use coherent DMA memory for command header · 38c0f334
      Johannes Berg 提交于
      Recently in commit 8a964f44
      ("iwlwifi: always copy first 16 bytes of commands") we fixed
      the problem that the hardware writes back to the command and
      that could overwrite parts of the data that was still needed
      and would thus be corrupted.
      
      Investigating this problem more closely we found that this
      write-back isn't really ordered very well with respect to
      other DMA traffic. Therefore, it sometimes happened that the
      write-back occurred after unmapping the command again which
      is clearly an issue and could corrupt the next allocation
      that goes to that spot, or (better) cause IOMMU faults.
      
      To fix this, allocate coherent memory for the first 16 bytes
      of each command, containing the write-back part, and use it
      for all queues. All the dynamic DMA mappings only need to be
      TO_DEVICE then. This ensures that even when the write-back
      happens "too late" it can't hit memory that has been freed
      or a mapping that doesn't exist any more.
      
      Since now the actual command is no longer modified, we can
      also remove CMD_WANT_HCMD and get rid of the DMA sync that
      was necessary to update the scratch pointer.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      38c0f334
    • E
      iwlwifi: disable 8K A-MSDU by default · aed7d9ac
      Emmanuel Grumbach 提交于
      Supporting 8K A-MSDU means that we need to allocate order 1
      pages for every Rx packet. Even when there is no traffic.
      This adds stress on the memory manager. The handling of
      compound pages is also less trivial for the memory manager
      and not using them will make the allocation code run faster
      although I didn't really measure.
      Eric also pointed out that having huge buffers with little
      data in them is not very nice towards the TCP stack since
      the truesize of the skb is huge. This doesn't allow TCP
      to have a big Rx window.
      See https://patchwork.kernel.org/patch/2167711/ for details.
      
      Note that very few vendors will actually send A-MSDU.
      Disable this feature by default.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      aed7d9ac
    • J
      iwlwifi: rename IWL_MAX_CMD_TFDS to IWL_MAX_CMD_TBS_PER_TFD · 1afbfb60
      Johannes Berg 提交于
      The IWL_MAX_CMD_TFDS name for this constant is wrong, the
      constant really indicates how many TBs we can use in the
      driver for a single command TFD, rename the constant and
      also add a comment explaining it.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1afbfb60