1. 03 12月, 2011 1 次提交
    • C
      btusb: fix a memory leak in btusb_send_frame() · 54a8a79c
      Cong Wang 提交于
      This patch fixes the following memory leak reported by kmemleak:
      
      unreferenced object 0xffff880060a53840 (size 192):
        comm "softirq", pid 0, jiffies 4320571771 (age 1406.569s)
        hex dump (first 32 bytes):
          01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
          [<ffffffff81138a1c>] create_object+0x187/0x28b
          [<ffffffff814be12e>] kmemleak_alloc+0x73/0x98
          [<ffffffff811289d3>] __kmalloc+0xfc/0x123
          [<ffffffff81386546>] usb_alloc_urb+0x1e/0x48
          [<ffffffffa0130274>] btusb_send_frame+0x86/0x385 [btusb]
          [<ffffffffa02d8230>] hci_send_frame+0xa0/0xa5 [bluetooth]
          [<ffffffffa02d8a4e>] hci_cmd_task+0xa0/0xfb [bluetooth]
          [<ffffffff81058548>] tasklet_action+0x8f/0xef
          [<ffffffff81058a4c>] __do_softirq+0xf4/0x1db
          [<ffffffff81058bb7>] run_ksoftirqd+0x84/0x129
          [<ffffffff8106f1c4>] kthread+0xa0/0xa8
          [<ffffffff814dd144>] kernel_thread_helper+0x4/0x10
          [<ffffffffffffffff>] 0xffffffffffffffff
      
      The problem is that when inc_tx() returns non-zero, we forgot
      to call usb_free_urb().
      
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: "Gustavo F. Padovan" <padovan@profusion.mobi>
      Signed-off-by: NWANG Cong <amwang@redhat.com>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      54a8a79c
  2. 08 11月, 2011 2 次提交
  3. 11 10月, 2011 2 次提交
  4. 30 9月, 2011 1 次提交
  5. 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
  6. 18 9月, 2011 2 次提交
  7. 20 8月, 2011 1 次提交
  8. 12 8月, 2011 2 次提交
  9. 02 7月, 2011 1 次提交
  10. 12 5月, 2011 1 次提交
  11. 01 4月, 2011 2 次提交
  12. 25 3月, 2011 2 次提交
  13. 24 2月, 2011 1 次提交
  14. 17 2月, 2011 3 次提交
  15. 12 2月, 2011 1 次提交
  16. 27 1月, 2011 1 次提交
  17. 19 1月, 2011 1 次提交
  18. 02 12月, 2010 2 次提交
  19. 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
  20. 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
  21. 22 7月, 2010 2 次提交
  22. 27 2月, 2010 1 次提交
  23. 18 12月, 2009 1 次提交
  24. 12 12月, 2009 1 次提交
  25. 15 11月, 2009 1 次提交
  26. 12 11月, 2009 1 次提交
  27. 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
  28. 23 8月, 2009 1 次提交