1. 11 Dec, 2009 1 commit
  2. 14 Nov, 2009 1 commit
  3. 11 Nov, 2009 1 commit
  4. 24 Aug, 2009 1 commit
    • Oliver Neukum's avatar
      Bluetooth: Add USB autosuspend support to btusb driver · 7bee549e
      Oliver Neukum authored
      This patch adds support of USB autosuspend to the btusb driver.
      If the device doesn't support remote wakeup, simple support based on
      up/down is provided. If the device supports remote wakeup, additional
      support for autosuspend while the interface is up is provided. This is
      done by queueing URBs in an anchor structure and waking the device up
      from a work queue on sending. Reception triggers remote wakeup.
      The last busy facility of the USB autosuspend code is used. To close
      a race between autosuspend and transmission, a counter of ongoing
      transmissions is maintained.
      Add #ifdefs for CONFIG_PM as necessary.
      Signed-off-by: default avatarOliver Neukum <oliver@neukum.org>
      Tested-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
  5. 22 Aug, 2009 1 commit
  6. 27 Feb, 2009 1 commit
    • Marcel Holtmann's avatar
      Bluetooth: Submit bulk URBs along with interrupt URBs · 43c2e57f
      Marcel Holtmann authored
      Submitting the bulk URBs for ACL data transfers only on demand has no
      real benefit compared to just submit them when a Bluetooth device gets
      opened. So when submitting the interrupt URBs for HCI events, just
      submit the bulk URBs, too.
      This solves a problem with some Bluetooth USB dongles that has been
      reported over the last few month. These devices require that the bulk
      URBs are actually present. These devices are really broken, but there
      is nothing we can do about it.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
  7. 30 Nov, 2008 6 commits
    • Marcel Holtmann's avatar
      Bluetooth: Enable per-module dynamic debug messages · a418b893
      Marcel Holtmann authored
      With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to
      allow debugging without having to recompile the kernel. This patch turns
      all BT_DBG() calls into pr_debug() to support dynamic debug messages.
      As a side effect all CONFIG_BT_*_DEBUG statements are now removed and
      some broken debug entries have been fixed.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    • Marcel Holtmann's avatar
      Bluetooth: Allow SCO audio with Asus WL-BTD202 dongle · 5ddd4a60
      Marcel Holtmann authored
      This patch allows the Asus WL-BTD202 dongle to be used with a mono
      headset without having to specify "options btusb force_scofix=1".
      Based on a patch from Guillaume Bedot <littletux@zarb.org>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    • Marcel Holtmann's avatar
      Bluetooth: Send HCI Reset command by default on device initialization · 7a9d4020
      Marcel Holtmann authored
      The Bluetooth subsystem was not using the HCI Reset command when doing
      device initialization. The Bluetooth 1.0b specification was ambiguous
      on how the device firmware was suppose to handle it. Almost every device
      was triggering a transport reset at the same time. In case of USB this
      ended up in disconnects from the bus.
      All modern Bluetooth dongles handle this perfectly fine and a lot of
      them actually require that HCI Reset is sent. If not then they are
      either stuck in their HID Proxy mode or their internal structures for
      inquiry and paging are not correctly setup.
      To handle old and new devices smoothly the Bluetooth subsystem contains
      a quirk to force the HCI Reset on initialization. However maintaining
      such a quirk becomes more and more complicated. This patch turns the
      logic around and lets the old devices disable the HCI Reset command.
      The only device where the HCI_QUIRK_NO_RESET is still needed are the
      original Digianswer devices and dongles with an early CSR firmware.
      CSR reported that they fixed this for version 12 firmware. The last
      official release of version 11 firmware is build ID 115. The first
      version 12 candidate was build ID 117.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    • Marcel Holtmann's avatar
      Bluetooth: Add suspend/resume support to btusb driver · 6a88adf2
      Marcel Holtmann authored
      During suspend it is important that all URBs are cancelled and then on
      resume re-submitted. This gives initial suspend/resume support.
      Based on initial work from Oliver Neukum <oneukum@suse.de>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    • Marcel Holtmann's avatar
      Bluetooth: Handle bulk URBs in btusb driver from notify callback · a780efa8
      Marcel Holtmann authored
      With the addition of usb_unlink_anchored_urbs() it is possible to fully
      control the bulk URBs from the notify callback. There is no need to
      schedule work and so only do this for the ISOC URBs.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    • Marcel Holtmann's avatar
      Bluetooth: Add fine grained mem_flags usage to btusb driver · 2eda66f4
      Marcel Holtmann authored
      The URB submission routines need more fine grained control for the
      mem_flags used by kmalloc(), usb_alloc_urb() and usb_submit_urb() to
      better support different caller situations. Add a mem_flags parameter
      and give the caller full control.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
  8. 06 Oct, 2008 3 commits
  9. 22 Sep, 2008 3 commits
  10. 18 Aug, 2008 1 commit
    • Marcel Holtmann's avatar
      [Bluetooth] Add SCO support to btusb driver · 9bfa35fe
      Marcel Holtmann authored
      The new generic driver for Bluetooth USB devices was missing proper
      SCO support. The driver now claims the second interface for these USB
      devices to allow the flow of SCO packets. It also handles switching
      of the alternate setting and re-submission of isochronous URBs.
      The btusb driver is now a full replacement for hci_usb and thus the
      experimental tag has been removed and this driver is promoted as
      preferred one.
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
  11. 07 Aug, 2008 1 commit
  12. 22 Oct, 2007 1 commit