1. 28 Jun, 2012 1 commit
    • Amitkumar Karwar's avatar
      mwifiex: wakeup main thread to handle command queued · 1a1fb970
      Amitkumar Karwar authored
      
      
      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: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarAvinash Patil <patila@marvell.com>
      Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      1a1fb970
  2. 22 Jun, 2012 1 commit
  3. 16 May, 2012 2 commits
  4. 23 Apr, 2012 1 commit
  5. 14 Mar, 2012 1 commit
  6. 05 Mar, 2012 1 commit
  7. 24 Jan, 2012 1 commit
  8. 14 Dec, 2011 1 commit
  9. 14 Oct, 2011 1 commit
    • Amitkumar Karwar's avatar
      mwifiex: use separate wait condition for each command node · efaaa8b8
      Amitkumar Karwar authored
      
      
      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: default avatarAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: default avatarYogesh Ashok Powar <yogeshp@marvell.com>
      Signed-off-by: default avatarBing Zhao <bzhao@marvell.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      efaaa8b8
  10. 12 Oct, 2011 1 commit
  11. 27 Sep, 2011 1 commit
  12. 22 Jun, 2011 1 commit
  13. 12 May, 2011 1 commit
  14. 10 May, 2011 2 commits
  15. 05 May, 2011 1 commit
  16. 14 Apr, 2011 2 commits
  17. 12 Apr, 2011 1 commit
  18. 04 Apr, 2011 3 commits
  19. 30 Mar, 2011 1 commit