1. 18 3月, 2013 1 次提交
  2. 05 3月, 2013 1 次提交
  3. 24 10月, 2012 4 次提交
  4. 30 4月, 2012 1 次提交
  5. 23 4月, 2012 1 次提交
  6. 16 4月, 2012 1 次提交
  7. 12 4月, 2012 1 次提交
  8. 26 3月, 2012 1 次提交
  9. 13 3月, 2012 1 次提交
  10. 08 3月, 2012 2 次提交
  11. 07 3月, 2012 2 次提交
    • R
      ath6kl: Check wow state before sending control and data pkt · 390a8c8f
      Raja Mani 提交于
      Below two scenarios are taken care in this patch which helped
      to fix the firmware crash during wow suspend/resume.
      
      * TX operation (ctrl tx and data tx) has to be controlled based
        on suspend state. i.e, with respect to WOW mode, control packets
        are allowed to send from the host until the suspend state goes
        ATH6KL_STATE_WOW and the data packets are allowed until WOW
        suspend operation starts.
      
      * Similarly, wow resume is NOT allowed if WOW suspend is in progress.
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      390a8c8f
    • R
      ath6kl: Add provision to define suspend policy in disconnected state. · 1e9a905d
      Raja Mani 提交于
      It gives flexibility to the user to define suspend policy
      when the suspend mode is set to WOW and the device is in
      disconnected state at the time of suspend.
      
      New module parameter wow_mode is added to get the choice
      from the user. This parameter is valid only if the module
      parameter suspend_mode is set to WOW.
      
      To force WOW in connected state and cut power
      in disconnected state:
        suspend_mode=0x3 wow_mode=0x1
      
      To force WOW in connected state and deep sleep
      in disconnected state (this is also the default wow_mode):
         suspend_mode=0x3 wow_mode=0x2
      
      If there is no value specified to wow_mode during insmod,
      deep sleep mode will be tried in the disconnected state.
      
      kvalo: clarified commit log
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      1e9a905d
  12. 06 3月, 2012 1 次提交
  13. 01 3月, 2012 1 次提交
    • R
      ath6kl: Fix random system lockup · d1f41597
      Raja Mani 提交于
      The commit "ath6kl: Use a mutex_lock to avoid
      race in diabling and handling irq" introduces a
      state where ath6kl_sdio_irq_handler() would be waiting
      to claim the sdio function for receive indefinitely
      when things happen in the following order.
      
      ath6kl_sdio_irq_handler()
      	- aquires mtx_irq
      	- sdio_release_host()
      					ath6kl_sdio_irq_disable()
      						- sdio_claim_host()
      						- sleep on mtx_irq
      	ath6kl_hif_intr_bh_handler()
      		- (indefinitely) wait for the sdio
      		  function to be released to exclusively claim
      		  it again for receive operation.
      
      Fix this by replacing the mtx_irq with an atomic
      variable and a wait_queue.
      
      kvalo: add ath6kl_sdio_is_on_irq() due to open parenthesis alignment
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d1f41597
  14. 08 2月, 2012 2 次提交
  15. 01 2月, 2012 1 次提交
  16. 31 1月, 2012 1 次提交
    • R
      ath6kl: Re-architect suspend mode handling in ath6kl_sdio_suspend · e390af77
      Raja Mani 提交于
      Using this patch, the user can bypass existing auto
      suspend mode selection logic and force ath6kl to enter
      into the suspend mode what he/she wants.
      
      If the user doesn't choose any suspend mode while doing
      insmod of the driver, auto suspend mode selection logic
      will kick in and choose suspend mode based on the host
      SDIO controller capability.
      
      Generic module parameter is required to specify suspend
      mode including Deep Sleep and WOW while doing insmod.
      Renaming existing mod param variable suspend_cutpower
      would be sufficient to meet this requirement.
      
      New module parameter suspend_mode can take any one of
      the below suspend state,
         1. cut power
         2. deep sleep
         3. wow
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e390af77
  17. 24 1月, 2012 1 次提交
  18. 18 1月, 2012 2 次提交
    • K
      ath6kl: add back beginnings of USB support · 241b128b
      Kalle Valo 提交于
      John Linville had to revert the part of USB support which was already
      in ath6kl due to build problems in commit cb00ec38 ("ath6kl: revert
      USB support"). Now that I fixed the build problems properly by adding
      ath6kl_core.ko kernel module it's possible to add back the
      (incomplete) USB support. This patch is a revert of John's patch and
      adds back the USB code which as already in ath6kl, only difference
      being minor changes in Makefile and adapting usb.c to new core
      function names.
      
      Note that USB support in ath6kl is not complete yet. This code only
      makes it possible to boot firmware but as HTC layer does not yet
      support USB it's not possible to send any WMI commands nor data
      packets to the firmware. That will be added soon.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      241b128b
    • K
      ath6kl: create core.c · 45eaa78f
      Kalle Valo 提交于
      Currently core functions are spread between various files, group all
      the functions into file and rename the functions to follow the style
      used elsewhere in the driver. This will make it easier to a separate core
      module.
      
      Also fix a bug where wiphy is freed too early.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      45eaa78f
  19. 12 1月, 2012 1 次提交
    • S
      ath6kl: Fix SDIO error path · 866dc886
      Sujith Manoharan 提交于
      sdio_release_host() would be called twice if sdio_set_block_size()
      fails for some reason, which would result in the following warning.
      
      WARNING: at /home/sujith/dev/wireless-testing/drivers/mmc/core/core.c:828 mmc_release_host+0x42/0x50 [mmc_core]()
      
      Call Trace:
      [<ffffffff81064fdf>] warn_slowpath_common+0x7f/0xc0
      [<ffffffff8106503a>] warn_slowpath_null+0x1a/0x20
      [<ffffffffa03beb42>] mmc_release_host+0x42/0x50 [mmc_core]
      [<ffffffffa03c917e>] sdio_release_host+0x1e/0x30 [mmc_core]
      [<ffffffffa053fac7>] ath6kl_sdio_config+0xc7/0x110 [ath6kl_sdio]
      [<ffffffffa053fd2c>] ath6kl_sdio_probe+0x21c/0x320 [ath6kl_sdio]
      [<ffffffffa03beb2a>] ? mmc_release_host+0x2a/0x50 [mmc_core]
      [<ffffffffa03c7d2a>] sdio_bus_probe+0xfa/0x130 [mmc_core]
      [<ffffffff813015ae>] driver_probe_device+0x7e/0x1b0
      [<ffffffff8130178b>] __driver_attach+0xab/0xb0
      [<ffffffff813016e0>] ? driver_probe_device+0x1b0/0x1b0
      [<ffffffff813016e0>] ? driver_probe_device+0x1b0/0x1b0
      [<ffffffff81300504>] bus_for_each_dev+0x64/0xa0
      [<ffffffff8130123e>] driver_attach+0x1e/0x20
      [<ffffffff81300e80>] bus_add_driver+0x1b0/0x280
      [<ffffffffa0065000>] ? 0xffffffffa0064fff
      [<ffffffff81301d06>] driver_register+0x76/0x140
      [<ffffffffa0065000>] ? 0xffffffffa0064fff
      [<ffffffffa03c7b71>] sdio_register_driver+0x21/0x30 [mmc_core]
      [<ffffffffa0065012>] ath6kl_sdio_init+0x12/0x35 [ath6kl_sdio]
      [<ffffffff81002042>] do_one_initcall+0x42/0x180
      [<ffffffff810b025f>] sys_init_module+0x8f/0x200
      [<ffffffff81425ac2>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      866dc886
  20. 09 1月, 2012 1 次提交
  21. 05 1月, 2012 1 次提交
  22. 23 12月, 2011 1 次提交
    • K
      ath6kl: handle firmware names more dynamically · c0038972
      Kalle Valo 提交于
      Currently ath6kl has just hardcoded paths to each firmware file. Change
      this more dynamic by separating the the directory and file name from each
      other. That way it's easier to dynamically create full paths to firmware and
      code looks better. And now it's possible to remove a function needed by
      devicetree code.
      
      While at it add a structure inside struct ath6kl_hw to contain all
      firmware names. I deliberately omitted board file support as
      those will be handled later.
      
      This is needed for firmware API 3.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      c0038972
  23. 13 12月, 2011 1 次提交
    • K
      ath6kl: implement scheduled scan · 10509f90
      Kalle Valo 提交于
      ath6kl firmware supports scheduled scan functionality with the wow ssid
      filter. But the firmware does not send any events after scan results
      so I had to add a timer which notifies about new scan results.
      
      Sched scan needs firmware version 3.2.0.6 or later. If firmware doesn't
      support sched scan the driver will not enable the feature.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      10509f90
  24. 22 11月, 2011 1 次提交
    • R
      ath6kl: Use mutex to protect dma buffer in sync read write · fdb28589
      Raja Mani 提交于
      Firmware crashes while starting Soft AP in 32 bit x86 platform.
      The reason is that the single dma buffer (ar_sdio->dma_buffer)
      is used in ath6kl_sdio_read_write_sync() for unaligned buffer
      handling and this function is called in the multiple context
      at the same time. So, finally hits dma buffer corruption and
      firmware crash.
      
      Mutex is used to protect dma buffer to avoid data corruption.
      Spin lock can not used to fix this issue since mmc stack
      read/write calls may for sleep.
      
      Observed this issue with recently commited patch
      "ath6kl: Claim sdio function only at appropriate places"
      861dd058
      
      kvalo: change name of mutex to more descriptive and add a comment
      about what it protects
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      fdb28589
  25. 16 11月, 2011 2 次提交
  26. 13 11月, 2011 6 次提交
  27. 11 11月, 2011 1 次提交