1. 23 4月, 2013 1 次提交
  2. 09 4月, 2013 1 次提交
    • B
      mwifiex: fix negative cmd_pending count · 9908b074
      Bing Zhao 提交于
      cmd_pending is increased in mwifiex_wait_queue_complete() and
      decreased in mwifiex_complete_cmd() currently.
      If there are two or more commands in the cmd_pending_q the main
      worker thread will pick up next command from cmd_pending_q
      automatically after finishing current command. As a result
      mwifiex_wait_queue_complete() will not be called because
      the command is alreay completed. This leads to a negative
      number in cmd_pending count.
      
      Fix it by increasing cmd_pending when a cmd is queued into
      cmd_pending_q and decreasing when that cmd is recycled. For scan
      commands we don't perform inc/dec operations until it's moved
      from scan_pending_q to cmd_pending_q. This covers both
      synchronous and asynchronous commands.
      Reported-by: NDaniel Drake <dsd@laptop.org>
      Tested-by: NDaniel Drake <dsd@laptop.org>
      Tested-by: NMarco Cesarano <marco@marvell.com>
      Signed-off-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9908b074
  3. 19 3月, 2013 2 次提交
  4. 07 3月, 2013 1 次提交
  5. 19 2月, 2013 1 次提交
  6. 05 2月, 2013 1 次提交
  7. 17 11月, 2012 1 次提交
  8. 15 11月, 2012 1 次提交
  9. 20 10月, 2012 2 次提交
  10. 29 9月, 2012 1 次提交
  11. 06 9月, 2012 1 次提交
  12. 07 8月, 2012 1 次提交
  13. 29 6月, 2012 1 次提交
    • A
      mwifiex: wakeup main thread to handle command queued · 1a1fb970
      Amitkumar Karwar 提交于
      We miss to wakeup main thread after adding command to cmd pending
      queue at follwing places. These commands are handled later when
      main thread is woken up for handling an interrupt for sleep event
      from firmware. This adds worst case delay of 50msec.
      
      1) We don't wakeup main thread when asynchronous command is added
      to cmd pending queue. Move queue_work() call from
      mwifiex_wait_queue_complete() to mwifiex_send_cmd_async() to wakeup
      main thread for sync as well as async commands.
      
      2) Scan operation is triggered due to following reasons
         a) request from user (ex. "iw scan" command)
         b) Scan performed by driver internally.
         In first case main thread is woken up when first scan command is
      queued in cmd pending queue (we don't need to wakeup main thread for
      subsequent scan commands, because they are queued in scan command
      response handler), but it is not done for second case. queue_work()
      is moved inside mwifiex_scan_networks() to handle both the cases.
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NAvinash Patil <patila@marvell.com>
      Signed-off-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1a1fb970
  14. 23 6月, 2012 1 次提交
  15. 17 5月, 2012 2 次提交
  16. 24 4月, 2012 1 次提交
  17. 15 3月, 2012 1 次提交
  18. 06 3月, 2012 1 次提交
  19. 25 1月, 2012 1 次提交
  20. 15 12月, 2011 1 次提交
  21. 15 10月, 2011 1 次提交
    • A
      mwifiex: use separate wait condition for each command node · efaaa8b8
      Amitkumar Karwar 提交于
      Currently global wait condition (adapter->cmd_wait_q.condition)
      is used while sending synchronous commands to FW. When two threads
      enter in mwifiex_send_cmd_sync() routine at the same time, both the
      threads wait for their command responses. Since wait condition is
      same for both, they wake up simultaneously after getting response
      of 1st command. After this when a thread is waiting for command
      response of 3rd command, it wakes up after getting response of 2nd
      command and so on. Therefore we don't wait for the response of last
      command(0xaa) during unload. Hence while next time loading the driver
      command time out is seen for INIT command.
      
      This problem is resolved by having separate wait condition flag for
      each command(except scan command). Since scan command is treated
      differently (by maintaining scan pending q etc.), newly defined flag
      (scan_wait_q_woken) is used as a scan wait condition.
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NYogesh Ashok Powar <yogeshp@marvell.com>
      Signed-off-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      efaaa8b8
  22. 13 10月, 2011 1 次提交
  23. 28 9月, 2011 1 次提交
  24. 23 6月, 2011 1 次提交
  25. 13 5月, 2011 1 次提交
  26. 11 5月, 2011 2 次提交
  27. 06 5月, 2011 1 次提交
  28. 15 4月, 2011 2 次提交
  29. 13 4月, 2011 1 次提交
  30. 05 4月, 2011 3 次提交
  31. 31 3月, 2011 1 次提交