1. 30 4月, 2018 3 次提交
  2. 25 4月, 2018 3 次提交
  3. 27 3月, 2018 1 次提交
    • G
      mwifiex: remove warnings in mwifiex_cmd_append_11n_tlv() · 6c20495b
      Ganapathi Bhat 提交于
      Fix the following sparse warning in mwifiex_cmd_append_11n_tlv:
      
      drivers/net/wireless/marvell/mwifiex/11n.c:358:65: warning: invalid assignment: &=
      drivers/net/wireless/marvell/mwifiex/11n.c:358:65:    left side has type restricted __le16
      drivers/net/wireless/marvell/mwifiex/11n.c:358:65:    right side has type int
      drivers/net/wireless/marvell/mwifiex/11n.c:360:65: warning: invalid assignment: &=
      drivers/net/wireless/marvell/mwifiex/11n.c:360:65:    left side has type restricted __le16
      drivers/net/wireless/marvell/mwifiex/11n.c:360:65:    right side has type int
      drivers/net/wireless/marvell/mwifiex/11n.c:366:65: warning: invalid assignment: &=
      drivers/net/wireless/marvell/mwifiex/11n.c:366:65:    left side has type restricted __le16
      drivers/net/wireless/marvell/mwifiex/11n.c:366:65:    right side has type int
      drivers/net/wireless/marvell/mwifiex/11n.c:368:65: warning: invalid assignment: &=
      drivers/net/wireless/marvell/mwifiex/11n.c:368:65:    left side has type restricted __le16
      drivers/net/wireless/marvell/mwifiex/11n.c:368:65:    right side has type int
      
      Fixes: 77423fa7 ("mwifiex: fix incorrect ht capability problem")
      Signed-off-by: NGanapathi Bhat <gbhat@marvell.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      6c20495b
  4. 14 3月, 2018 4 次提交
  5. 28 2月, 2018 1 次提交
  6. 17 1月, 2018 2 次提交
    • B
      mwifiex: resolve reset vs. remove()/shutdown() deadlocks · a64e7a79
      Brian Norris 提交于
      Commit b014e96d ("PCI: Protect pci_error_handlers->reset_notify()
      usage with device_lock()") resolves races between driver reset and
      removal, but it introduces some new deadlock problems. If we see a
      timeout while we've already started suspending, removing, or shutting
      down the driver, we might see:
      
      (a) a worker thread, running mwifiex_pcie_work() ->
          mwifiex_pcie_card_reset_work() -> pci_reset_function()
      (b) a removal thread, running mwifiex_pcie_remove() ->
          mwifiex_free_adapter() -> mwifiex_unregister() ->
          mwifiex_cleanup_pcie() -> cancel_work_sync(&card->work)
      
      Unfortunately, mwifiex_pcie_remove() already holds the device lock that
      pci_reset_function() is now requesting, and so we see a deadlock.
      
      It's necessary to cancel and synchronize our outstanding work before
      tearing down the driver, so we can't have this work wait indefinitely
      for the lock.
      
      It's reasonable to only "try" to reset here, since this will mostly
      happen for cases where it's already difficult to reset the firmware
      anyway (e.g., while we're suspending or powering off the system). And if
      reset *really* needs to happen, we can always try again later.
      
      Fixes: b014e96d ("PCI: Protect pci_error_handlers->reset_notify() usage with device_lock()")
      Cc: <stable@vger.kernel.org>
      Cc: Xinming Hu <huxm@marvell.com>
      Signed-off-by: NBrian Norris <briannorris@chromium.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a64e7a79
    • B
      Revert "mwifiex: cancel pcie/sdio work in remove/shutdown handler" · 7e34c0d2
      Brian Norris 提交于
      This reverts commit b713bbf1.
      
      The "fix" in question does not actually fix all related problems, and it
      also introduces new deadlock possibilities. Since commit b014e96d
      ("PCI: Protect pci_error_handlers->reset_notify() usage with
      device_lock()"), the race in question is actually resolved (PCIe reset
      cannot happen at the same time as remove()). Instead, this "fix" just
      introduces a deadlock where mwifiex_pcie_card_reset_work() is waiting on
      device_lock, which is held by PCIe device remove(), which is waiting
      on...mwifiex_pcie_card_reset_work().
      
      The proper thing to do is just to fix the deadlock. Patch for this will
      come separately.
      
      Cc: Signed-off-by: Xinming Hu <huxm@marvell.com>
      Signed-off-by: NBrian Norris <briannorris@chromium.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      7e34c0d2
  7. 09 1月, 2018 4 次提交
  8. 07 12月, 2017 2 次提交
  9. 30 10月, 2017 1 次提交
  10. 27 10月, 2017 1 次提交
    • K
      mwifiex: Convert timers to use timer_setup() · 08c2eb8e
      Kees Cook 提交于
      In preparation for unconditionally passing the struct timer_list pointer to
      all timer callbacks, switch to using the new timer_setup() and from_timer()
      to pass the timer pointer explicitly.
      
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: Amitkumar Karwar <amitkarwar@gmail.com>
      Cc: Nishant Sarmukadam <nishants@marvell.com>
      Cc: Ganapathi Bhat <gbhat@marvell.com>
      Cc: Xinming Hu <huxm@marvell.com>
      Cc: Arvind Yadav <arvind.yadav.cs@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Johannes Berg <johannes.berg@intel.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Andrew Zaborowski <andrew.zaborowski@intel.com>
      Cc: libertas-dev@lists.infradead.org
      Cc: linux-wireless@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      08c2eb8e
  11. 13 10月, 2017 4 次提交
  12. 10 10月, 2017 1 次提交
  13. 25 9月, 2017 1 次提交
  14. 20 9月, 2017 6 次提交
  15. 17 8月, 2017 2 次提交
  16. 10 8月, 2017 2 次提交
  17. 08 8月, 2017 2 次提交