1. 03 9月, 2016 8 次提交
  2. 14 8月, 2016 2 次提交
  3. 19 7月, 2016 6 次提交
  4. 08 7月, 2016 8 次提交
  5. 06 7月, 2016 1 次提交
    • A
      nl80211: support beacon report scanning · 1d76250b
      Avraham Stern 提交于
      Beacon report radio measurement requires reporting observed BSSs
      on the channels specified in the beacon request. If the measurement
      mode is set to passive or active, it requires actually performing a
      scan (passive or active, accordingly), and reporting the time that
      the scan was started and the time each beacon/probe was received
      (both in terms of TSF of the BSS of the requesting AP). If the
      request mode is table, this information is optional.
      In addition, the radio measurement request specifies the channel
      dwell time for the measurement.
      
      In order to use scan for beacon report when the mode is active or
      passive, add a parameter to scan request that specifies the
      channel dwell time, and add scan start time and beacon received time
      to scan results information.
      
      Supporting beacon report is required for Multi Band Operation (MBO).
      Signed-off-by: NAssaf Krauss <assaf.krauss@intel.com>
      Signed-off-by: NDavid Spinadel <david.spinadel@intel.com>
      Signed-off-by: NAvraham Stern <avraham.stern@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      1d76250b
  6. 05 7月, 2016 4 次提交
    • S
      mwifiex: disable MSIx interrupt for 8997 chipset · bf942091
      Shengzhen Li 提交于
      Sometimes MSIx interrupts are received out of order on multi-core
      system. This creates a problem when there is a race between data
      packet and SLEEP event from firmware. We will disable MSIx interrupt
      mode to solve the problem and go with MSI mode.
      Signed-off-by: NShengzhen Li <szli@marvell.com>
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      bf942091
    • S
      mwifiex: add get_antenna support for cfg80211 · 3ee71285
      Shengzhen Li 提交于
      Since commit de3bb771 ("cfg80211: add more warnings for inconsistent
      ops") the wireless core warns if a driver implements a cfg80211 callback
      but doesn't implements the inverse operation.
      
      The mwifiex driver defines a .set_antenna handler but not a .get_antenna
      so this not only makes the core to print a warning when creating a new
      wiphy but also the antenna isn't reported to user-space apps such as iw.
      
      This patch queries the antenna to the firmware so is properly reported to
      user-space. With this patch, the wireless core does not warn anymore and:
      
      $ iw phy phy0 info | grep Antennas
              Available Antennas: TX 0x3 RX 0x3
              Configured Antennas: TX 0x3 RX 0x3
      Signed-off-by: NShengzhen Li <szli@marvell.com>
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      [javier: expand the commit message]
      Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Tested-by: NEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      3ee71285
    • J
      mwifiex: add a cfg80211 .get_tx_power operation callback · 7d54baca
      Javier Martinez Canillas 提交于
      The mwifiex driver implements a cfg80211 .set_tx_power operation handler
      but doesn't have the inverse .get_tx_power callback.
      
      This not only has the effect that the Tx power can't be reported to user
      space tools such as iwconfig and iwlist but also that the wireless core
      prints a warning when a new wiphy is created due an cfg80211 operation
      being implemented without its counterpart.
      
      After this patch, the Tx power is properly reported to user-space tools:
      
      $ iwlist mlan0 txpower
      mlan0     unknown transmit-power information.
      
                Current Tx-Power=13 dBm       (19 mW)
      
      and also the following warning isn't shown anymore on the driver probe:
      
      WARNING: CPU: 3 PID: 127 at net/wireless/core.c:366 wiphy_new_nm+0x66c/0x6ac
      Modules linked in: mwifiex_sdio mwifiex
      CPU: 3 PID: 127 Comm: kworker/3:1 Tainted: G        W       4.7.0-rc1-next-20160531-00006-g569df5b983f3
      Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
      Workqueue: events request_firmware_work_func
      [<c010e1ac>] (unwind_backtrace) from [<c010af38>] (show_stack+0x10/0x14)
      [<c010af38>] (show_stack) from [<c0323b9c>] (dump_stack+0x88/0x9c)
      [<c0323b9c>] (dump_stack) from [<c011a828>] (__warn+0xe8/0x100)
      [<c011a828>] (__warn) from [<c011a8f0>] (warn_slowpath_null+0x20/0x28)
      [<c011a8f0>] (warn_slowpath_null) from [<c06a42d4>] (wiphy_new_nm+0x66c/0x6ac)
      [<c06a42d4>] (wiphy_new_nm) from [<bf1c24cc>] (mwifiex_register_cfg80211+0x28/0x3f0 [mwifiex])
      [<bf1c24cc>] (mwifiex_register_cfg80211 [mwifiex]) from [<bf1a0018>] (mwifiex_fw_dpc+0x2b0/0x474 [mwifiex])
      [<bf1a0018>] (mwifiex_fw_dpc [mwifiex]) from [<c040eb74>] (request_firmware_work_func+0x30/0x58)
      [<c040eb74>] (request_firmware_work_func) from [<c012fe90>] (process_one_work+0x124/0x338)
      [<c012fe90>] (process_one_work) from [<c01300dc>] (worker_thread+0x38/0x4d4)
      [<c01300dc>] (worker_thread) from [<c01353b8>] (kthread+0xdc/0xf4)
      [<c01353b8>] (kthread) from [<c0107978>] (ret_from_fork+0x14/0x3c)
      Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Tested-by: NEnric Balletbo i Serra <enric.balletbo@collabora.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      7d54baca
    • J
      mwifiex: fix unconditional error return in .add_virtual_intf callback · f152bdad
      Javier Martinez Canillas 提交于
      The commit 7311ea85 ("mwifiex: fix AP start problem for newly added
      interface") attempted to fix an issue when a new AP interface is added.
      
      But the patch didn't check the return value of the functions doing the
      firmware calls and returned an error even if the functions didn't fail.
      
      This prevents the network device to be registered properly, so fix it.
      
      Fixes: 7311ea85 ("mwifiex: fix AP start problem for newly added interface")
      Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Reviewed-by: NJulian Calaby <julian.calaby@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      f152bdad
  7. 29 6月, 2016 8 次提交
  8. 18 6月, 2016 1 次提交
    • A
      mwifiex: fix link error against sdio · 2095b142
      Arnd Bergmann 提交于
      Calling sdio_claim_host() from the interface independent part of
      the mwifiex driver is not only a layering violation, but also causes
      a link error if MMC support is disabled, or if CONFIG_MMC=m
      and CONFIG_MWIFIEX=y:
      
      drivers/net/built-in.o: In function `mwifiex_fw_dpc':
      :(.text+0xff138): undefined reference to `sdio_claim_host'
      :(.text+0xff158): undefined reference to `sdio_release_host'
      
      The right way to do this is to have the sdio specific code in the
      sdio driver front-end, and we already have a callback pointer that
      we can use for this after exporting the generic fw download
      function from the core driver.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Fixes: 65c71efe ("mwifiex: fix racing condition when downloading firmware")
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      2095b142
  9. 16 6月, 2016 2 次提交
    • B
      libertas: Remove create_workqueue · f9f905b0
      Bhaktipriya Shridhar 提交于
      alloc_workqueue replaces deprecated create_workqueue().
      
      In if_sdio.c, the workqueue card->workqueue has workitem
      &card->packet_worker, which is mapped to if_sdio_host_to_card_worker.
      The workitem is involved in sending packets to firmware.
      Forward progress under memory pressure is a requirement here.
      
      In if_spi.c, the workqueue card->workqueue has workitem
      &card->packet_worker, which is mapped to if_spi_host_to_card_worker.
      The workitem is involved in sending command packets from the host.
      Forward progress under memory pressure is a requirement here.
      
      Dedicated workqueues have been used in both cases since the workitems
      on the workqueues are involved in normal device operation with
      WQ_MEM_RECLAIM set to gurantee forward progress under memory pressure.
      Since there are only a fixed number of work items, explicit concurrency
      limit is unnecessary.
      
      flush_workqueue is unnecessary since destroy_workqueue() itself calls
      drain_workqueue() which flushes repeatedly till the workqueue
      becomes empty. Hence the calls to flush_workqueue() before
      destroy_workqueue() have been dropped.
      Signed-off-by: NBhaktipriya Shridhar <bhaktipriya96@gmail.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      f9f905b0
    • G
      libertas_tf: Drop unused variable and define · 035ddbc5
      Guenter Roeck 提交于
      gcc-6 reports:
      
      drivers/net/wireless/marvell/libertas_tf/main.c:30:19: error:
      	'lbtf_driver_version' defined but not used
      
      with -Werror=unused-const-variable=.
      
      Reported-by: Fengguang Wu <fengguang.wu@intel.com> [0-day test robot]
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      035ddbc5