1. 30 Jun, 2011 1 commit
    • Peter Hurley's avatar
      Bluetooth: Fix hidp disconnect deadlocks and lost wakeup · 7bb59df8
      Peter Hurley authored
      Partial revert of commit aabf6f89. When the hidp session thread
      was converted from kernel_thread to kthread, the atomic/wakeups
      were replaced with kthread_stop. kthread_stop has blocking semantics
      which are inappropriate for the hidp session kthread. In addition,
      the kthread signals itself to terminate in hidp_process_hid_control()
      - it cannot do this with kthread_stop().
      
      Lastly, a wakeup can be lost if the wakeup happens between checking
      for the loop exit condition and setting the current state to
      TASK_INTERRUPTIBLE. (Without appropriate synchronization mechanisms,
      the task state should not be changed between the condition test and
      the yield - via schedule() - as this creates a race between the
      wakeup and resetting the state back to interruptible.)
      Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      7bb59df8
  2. 28 Jun, 2011 1 commit
  3. 20 Jun, 2011 2 commits
  4. 15 Jun, 2011 3 commits
  5. 14 Jun, 2011 1 commit
  6. 13 Jun, 2011 1 commit
  7. 10 Jun, 2011 4 commits
  8. 09 Jun, 2011 1 commit
  9. 08 Jun, 2011 3 commits
  10. 07 Jun, 2011 4 commits
  11. 06 Jun, 2011 4 commits
  12. 03 Jun, 2011 5 commits
  13. 01 Jun, 2011 4 commits
  14. 31 May, 2011 6 commits
    • Wey-Yi Guy's avatar
      iwlagn: fix incorrect PCI subsystem id for 6150 devices · 1144181c
      Wey-Yi Guy authored
      For 6150 devices, modify the supported PCI subsystem ID.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      1144181c
    • Jussi Kivilinna's avatar
      zd1211rw: fix to work on OHCI · 59342f6a
      Jussi Kivilinna authored
      zd1211 devices register 'EP 4 OUT' endpoint as Interrupt type on USB 2.0:
      
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x04  EP 4 OUT
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               1
      
      However on USB 1.1 endpoint becomes Bulk:
      
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x04  EP 4 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               0
      
      Commit 37939810 assumed that endpoint is
      always interrupt type and changed usb_bulk_msg() calls to usb_interrupt_msg().
      
      Problem here is that usb_bulk_msg() on interrupt endpoint selfcorrects the
      call and changes requested pipe to interrupt type (see usb_bulk_msg).
      However with usb_interrupt_msg() on bulk endpoint does not correct the
      pipe type to bulk, but instead URB is submitted with interrupt type pipe.
      
      So pre-2.6.39 used usb_bulk_msg() and therefore worked with both endpoint
      types, however in 2.6.39 usb_interrupt_msg() with bulk endpoint causes
      ohci_hcd to fail submitted URB instantly with -ENOSPC and preventing zd1211rw
      from working with OHCI.
      
      Fix this by detecting endpoint type and using correct endpoint/pipe types
      for URB. Also fix asynchronous zd_usb_iowrite16v_async() to use right
      URB type on 'EP 4 OUT'.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      59342f6a
    • Luciano Coelho's avatar
      wl12xx: fix oops in sched_scan when forcing a passive scan · 66870b1c
      Luciano Coelho authored
      Fix kernel oops when trying to use passive scheduled scans.  The
      reason was that in passive scans there are no SSIDs, so there was a
      NULL pointer dereference.
      
      To solve the problem, we now check the number of SSIDs provided in the
      sched_scan request and only access the list if there's one or more
      (ie. passive scan is not forced).  We also force all the channels to
      be passive by adding the IEEE80211_CHAN_PASSIVE_SCAN flag locally
      before the checks in the wl1271_scan_get_sched_scan_channels()
      function.
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      66870b1c
    • Luciano Coelho's avatar
      wl12xx: add separate config value for DFS dwell time on sched scan · 50a66d7f
      Luciano Coelho authored
      Use a different value for DFS dwell time when performing a scheduled
      scan.  Previously we were using the same value as for normal passive
      scans.  This adds some flexibility between these two different types
      of passive scan.
      
      For now we use 150 TUs for DFS channel dwell time.  This may need to
      be fine-tuned in the future.
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      50a66d7f
    • Luciano Coelho's avatar
      wl12xx: fix DFS channels handling in scheduled scan · 2497a246
      Luciano Coelho authored
      DFS channels were never getting included in the scheduled scans,
      because they always contain the passive flag as well and the call was
      asking for DFS and active channels.
      
      Fix this by ignoring the passive flag when collecting DFS channels.
      Also, move the DFS channels in the channel list before the 5GHz active
      channels (this was implemented in the FW differently than specified).
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2497a246
    • Luciano Coelho's avatar
      wl12xx: fix passive and radar channel generation for scheduled scan · dd086821
      Luciano Coelho authored
      We were comparing bitwise AND results with a boolean, so when the
      boolean was set to true, it was not matching as it should.
      
      Fix this by booleanizing the bitwise AND results with !!.
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      dd086821