1. 20 7月, 2014 1 次提交
    • M
      Bluetooth: Fix endian and alignment issue with ath3k version handling · 72dd2b2a
      Marcel Holtmann 提交于
      The ath3k driver is treating the version information badly when it
      comes to loading the right firmware version and comparing that it
      actually matches with the hardware.
      
      Initially this showed up as this:
      
        CHECK   drivers/bluetooth/ath3k.c
      drivers/bluetooth/ath3k.c:373:17: warning: cast to restricted __le32
      drivers/bluetooth/ath3k.c:435:17: warning: cast to restricted __le32
      
      However when fixing this by actually using __packed and __le32 for
      the ath3_version structure, more issues came up:
      
        CHECK   drivers/bluetooth/ath3k.c
      drivers/bluetooth/ath3k.c:381:32: warning: incorrect type in assignment (different base types)
      drivers/bluetooth/ath3k.c:381:32:    expected restricted __le32 [usertype] rom_version
      drivers/bluetooth/ath3k.c:381:32:    got int [signed] <noident>
      drivers/bluetooth/ath3k.c:382:34: warning: incorrect type in assignment (different base types)
      drivers/bluetooth/ath3k.c:382:34:    expected restricted __le32 [usertype] build_version
      drivers/bluetooth/ath3k.c:382:34:    got int [signed] <noident>
      drivers/bluetooth/ath3k.c:386:28: warning: restricted __le32 degrades to integer
      drivers/bluetooth/ath3k.c:386:56: warning: restricted __le32 degrades to integer
      
      This patch fixes every instance of the firmware version handling and
      makes sure it is endian safe and uses proper unaligned access.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      72dd2b2a
  2. 19 7月, 2014 2 次提交
  3. 15 7月, 2014 1 次提交
  4. 12 7月, 2014 1 次提交
  5. 11 7月, 2014 2 次提交
  6. 08 7月, 2014 1 次提交
  7. 07 7月, 2014 1 次提交
  8. 06 7月, 2014 4 次提交
    • M
      Bluetooth: Ignore isochronous endpoints for Intel USB bootloader · d92f2df0
      Marcel Holtmann 提交于
      The isochronous endpoints are not valid when the Intel Bluetooth
      controller boots up in bootloader mode. So just mark these endpoints
      as broken and then they will not be configured.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      d92f2df0
    • M
      Bluetooth: Handle Intel USB bootloader with buggy interrupt · 3a5ef20c
      Marcel Holtmann 提交于
      The interrupt interface for the Intel USB bootloader devices is only
      enabled after receiving SetInterface(0, AltSetting=0). When this USB
      command is not send, then no HCI events will be received.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      3a5ef20c
    • M
      Bluetooth: Remove module parameters for ignoring USB devices · 01bb75ed
      Marcel Holtmann 提交于
      The module parameters to ignore devices based on USB VID/PID are not
      needed at all. So just remove them.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      01bb75ed
    • M
      Bluetooth: Add support for Intel bootloader devices · 40df783d
      Marcel Holtmann 提交于
      Intel Bluetooth devices that boot up in bootloader mode can not
      be used as generic HCI devices, but their HCI transport is still
      valuable and so bring that up as raw-only devices.
      
      T:  Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#= 14 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=8087 ProdID=0a5a Rev= 0.00
      S:  Manufacturer=Intel(R) Corporation
      S:  Product=Intel(R) Wilkins Peak 2x2
      S:  SerialNumber=001122334455 WP_A0
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      40df783d
  9. 05 7月, 2014 1 次提交
  10. 04 7月, 2014 2 次提交
  11. 03 7月, 2014 11 次提交
  12. 24 6月, 2014 1 次提交
  13. 20 6月, 2014 1 次提交
  14. 27 5月, 2014 1 次提交
  15. 09 5月, 2014 1 次提交
    • P
      Bluetooth: btusb: Add Broadcom patch RAM support · 10d4c673
      Petri Gynther 提交于
      After hardware reset, some BCM Bluetooth adapters obtain their initial firmware
      from OTPROM chip. Once this initial firmware is running, the firmware can be
      further upgraded over HCI interface with .hcd files provided by Broadcom. This
      is also known as "patch RAM" support. This change implements that.
      
      If the .hcd file is not found in /lib/firmware, BCM Bluetooth adapter continues
      to operate with the initial firmware. Sample kernel log:
        hotplug: sys=firmware act=add fw=brcm/BCM20702A0-0a5c-22be.hcd dev=...
        Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-22be.hcd not found
      
      If the .hcd file is found, btusb driver pushes it to the BCM Bluetooth adapter and
      it starts using the new firmware. Sample kernel log:
        hotplug: sys=firmware act=add fw=brcm/BCM20702A0-0a5c-22be.hcd dev=...
        Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=1000 lmp_ver=06 lmp_subver=220e
        Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1389 lmp_ver=06 lmp_subver=220e
      
      Above, we can see that hci_rev goes from 1000 to 1389 as a result of the upgrade.
      Signed-off-by: NPetri Gynther <pgynther@google.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      10d4c673
  16. 25 4月, 2014 3 次提交
    • M
      Bluetooth: Add support for Lite-on [04ca:3007] · 1fb4e09a
      Mohammed Habibulla 提交于
      Add support for the AR9462 chip
      
      T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=03 Dev#=  3 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=04ca ProdID=3007 Rev= 0.01
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) 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=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 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=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 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=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: NMohammed Habibulla <moch@chromium.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      1fb4e09a
    • M
      Revert "Bluetooth: Enable autosuspend for Intel Bluetooth device" · 3c49aa85
      Marcel Holtmann 提交于
      This reverts commit d2bee8fb.
      
      Enabling autosuspend for Intel Bluetooth devices has been shown to not
      work reliable. It does work for some people with certain combinations
      of USB host controllers, but for others it puts the device to sleep and
      it will not wake up for any event.
      
      These events can be important ones like HCI Inquiry Complete or HCI
      Connection Request. The events will arrive as soon as you poke the
      device with a new command, but that is not something we can do in
      these cases.
      
      Initially there were patches to the xHCI USB controller that fixed
      this for some people, but not for all. This could be well a problem
      somewhere in the USB subsystem or in the USB host controllers or
      just plain a hardware issue somewhere. At this moment we just do
      not know and the only safe action is to revert this patch.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Cc: Tedd Ho-Jeong An <tedd.an@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      3c49aa85
    • F
      bluetooth: hci_ldisc: fix deadlock condition · da64c27d
      Felipe Balbi 提交于
      LDISCs shouldn't call tty->ops->write() from within
      ->write_wakeup().
      
      ->write_wakeup() is called with port lock taken and
      IRQs disabled, tty->ops->write() will try to acquire
      the same port lock and we will deadlock.
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Reviewed-by: NPeter Hurley <peter@hurleysoftware.com>
      Reported-by: NHuang Shijie <b32955@freescale.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Tested-by: NAndreas Bießmann <andreas@biessmann.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      da64c27d
  17. 24 4月, 2014 2 次提交
  18. 29 3月, 2014 1 次提交
  19. 28 3月, 2014 1 次提交
  20. 24 3月, 2014 1 次提交
  21. 21 3月, 2014 1 次提交