1. 11 10月, 2011 1 次提交
    • P
      Bluetooth: btusb: also be quiet when suspending · 5a9b80e2
      Paul Bolle 提交于
      usb_submit_urb() returns -ENODEV when a usb device is disconnected. In
      commit 4935f1c1 ("Bluetooth: btusb: be
      quiet on device disconnect") I stopped treating that return as an error
      in the three btusb_*_complete() functions.
      
      It turns out btusb_send_frame() generates a similar error if the system
      is suspended while the bluetooth usb device is enabled. The sensible
      thing to do here seems to be to treat -ENODEV (and -EPERM) just like the
      btusb_*_complete() functions now do.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      5a9b80e2
  2. 30 9月, 2011 1 次提交
  3. 28 9月, 2011 1 次提交
    • P
      Bluetooth: Allow ACL packets over USB in HCI_RAW mode · 9fd481e0
      Peter Hurley 提交于
      Removed tests which prevent transmission of ACL packets
      when the device is in HCI_RAW mode. These tests verified that
      there are ACL or LE links currently tracked by the HCI
      connection manager. However, a HCI_RAW mode device does not
      use the connection manager. In these circumstances, the connection
      counts will be zero, and thus, transmitted ACL packets dropped.
      
      The acl_num test is actually a vestige of a previous bulk URB
      scheme that is no longer used by this driver (bulk URBs were not
      started until at least one ACL connection was created). This was
      incompatible with some endpoint implementations and was dropped -
      see commit 43c2e57f.
      
      The utility of these tests is marginal - currently, the hci tx
      scheduler cannot send an ACL or LE packet for an untracked connection
      (except if the device is in HCI_RAW mode).
      
      Lastly, no other transport layer driver enforces these same tests.
      Signed-off-by: NPeter Hurley <peter@hurleysoftware.com>
      Acked-by: NAcked-by: Marcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      9fd481e0
  4. 18 9月, 2011 2 次提交
  5. 12 8月, 2011 2 次提交
  6. 02 7月, 2011 1 次提交
  7. 12 5月, 2011 1 次提交
  8. 01 4月, 2011 2 次提交
  9. 25 3月, 2011 2 次提交
  10. 24 2月, 2011 1 次提交
  11. 17 2月, 2011 3 次提交
  12. 12 2月, 2011 1 次提交
  13. 27 1月, 2011 1 次提交
  14. 19 1月, 2011 1 次提交
  15. 02 12月, 2010 2 次提交
  16. 09 11月, 2010 2 次提交
    • E
      Bluetooth: Add MacBookAir3,1(2) support · 3e3ede7d
      Edgar (gimli) Hucek 提交于
      Adding the new MacBookAir3,1(2) to btusb.
      
      Output without the patch and btusb loaded :
      
      T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=821b Rev= 0.34
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      
      Output with the patch and btusb loaded :
      
      T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=821b Rev= 0.34
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      Signed-off-by: NEdgar (gimli) Hucek <gimli@dark-green.com>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      3e3ede7d
    • M
      Bluetooth: Enable USB autosuspend by default on btusb · 556ea928
      Matthew Garrett 提交于
      We've done this for a while in Fedora without any obvious problems other
      than some interaction with input devices. Those should be fixed now, so
      let's try this in mainline.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      556ea928
  17. 12 10月, 2010 2 次提交
    • N
      Bluetooth: Add support Bluetooth controller of MacbookPro 7,1 · 3cd01976
      Nobuhiro Iwamatsu 提交于
      Bluetooth controller of MacbookPro 7,1 does not work.
      Because Device Class of these controllers was set 255 (Vendor Sepecific Class).
      
      T:  Bus=04 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#=  5 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=8213 Rev=01.86
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      S:  SerialNumber=5C5948C81B99
      C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)
      Signed-off-by: NNobuhiro Iwamatsu <iwamatsu@nigauri.org>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      3cd01976
    • N
      Bluetooth: Add support Bluetooth controller of MacbookPro 6,2 · 9c047157
      Nobuhiro Iwamatsu 提交于
      Bluetooth controller of MacbookPro 6,2 does not work.
      Because Device Class of these controllers was set 255 (Vendor Sepecific Class).
      
      T:  Bus=01 Lev=03 Prnt=03 Port=02 Cnt=03 Dev#=  8 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=8218 Rev=00.22
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      Signed-off-by: NNobuhiro Iwamatsu <iwamatsu@nigauri.org>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      9c047157
  18. 22 7月, 2010 2 次提交
  19. 27 2月, 2010 1 次提交
  20. 18 12月, 2009 1 次提交
  21. 12 12月, 2009 1 次提交
  22. 15 11月, 2009 1 次提交
  23. 12 11月, 2009 1 次提交
  24. 25 8月, 2009 1 次提交
    • O
      Bluetooth: Add USB autosuspend support to btusb driver · 7bee549e
      Oliver Neukum 提交于
      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: NOliver Neukum <oliver@neukum.org>
      Tested-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      7bee549e
  25. 23 8月, 2009 1 次提交
  26. 27 2月, 2009 1 次提交
    • M
      Bluetooth: Submit bulk URBs along with interrupt URBs · 43c2e57f
      Marcel Holtmann 提交于
      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: NMarcel Holtmann <marcel@holtmann.org>
      43c2e57f
  27. 30 11月, 2008 4 次提交
    • M
      Bluetooth: Enable per-module dynamic debug messages · a418b893
      Marcel Holtmann 提交于
      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: NMarcel Holtmann <marcel@holtmann.org>
      a418b893
    • M
      Bluetooth: Allow SCO audio with Asus WL-BTD202 dongle · 5ddd4a60
      Marcel Holtmann 提交于
      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: NMarcel Holtmann <marcel@holtmann.org>
      5ddd4a60
    • M
      Bluetooth: Send HCI Reset command by default on device initialization · 7a9d4020
      Marcel Holtmann 提交于
      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: NMarcel Holtmann <marcel@holtmann.org>
      7a9d4020
    • M
      Bluetooth: Add suspend/resume support to btusb driver · 6a88adf2
      Marcel Holtmann 提交于
      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: NMarcel Holtmann <marcel@holtmann.org>
      6a88adf2