Amitkumar Karwar
2cc8689028
Bluetooth: btmrvl: add calibration data download support
...
A text file containing calibration data in hex format can
be provided at following path:
/lib/firmware/mrvl/sd8797_caldata.conf
The data will be downloaded to firmware during initialization.
Reviewed-by: Mike Frysinger <vapier@chromium.org >
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com >
Signed-off-by: Bing Zhao <bzhao@marvell.com >
Signed-off-by: Hyuckjoo Lee <hyuckjoo.lee@samsung.com >
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
2013-10-02 00:36:16 -07:00
Amitkumar Karwar
4b245722ca
Bluetooth: btmrvl: add setup handler
...
Move initialization code to hdev's setup handler.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com >
Signed-off-by: Bing Zhao <bzhao@marvell.com >
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
2013-10-02 00:36:16 -07:00
Amitkumar Karwar
7d5b400cb0
Bluetooth: btmrvl: get rid of struct btmrvl_cmd
...
Replace this proprietary structure with the standard one
(struct hci_command_hdr).
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com >
Signed-off-by: Bing Zhao <bzhao@marvell.com >
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
2013-10-02 00:36:15 -07:00
Amitkumar Karwar
c037874ca2
Bluetooth: btmrvl: add btmrvl_send_sync_cmd() function
...
Command preparation code is used multiple times. This patch
separate out this common code and create btmrvl_send_sync_cmd()
function.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com >
Signed-off-by: Bing Zhao <bzhao@marvell.com >
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
2013-10-02 00:36:15 -07:00
Marcel Holtmann
922ca1dfc2
Bluetooth: Enable -D__CHECK_ENDIAN__ for sparse by default
...
The Bluetooth protocol and hardware is pretty much all little endian
and so when running sparse via "make C=2" for example, enable the
endian checks by default.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com >
2013-10-02 09:10:05 +03:00
Gustavo Padovan
1025c04cec
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
...
Conflicts:
net/bluetooth/hci_core.c
2013-09-27 11:56:14 -03:00
Ken O'Brien
5bcecf3253
Bluetooth: btusb: Add support for Belkin F8065bf
...
Add generic rule on encountering Belkin bluetooth usb device F8065bf.
Relevant section from /sys/kernel/debug/usb/devices:
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=050d ProdID=065a Rev= 1.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=0002723E2D29
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA
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=ff(vend.) 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=ff(vend.) 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
Signed-off-by: Ken O'Brien <kernel@kenobrien.org >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-09-23 17:44:25 -03:00
Raphael Kubo da Costa
38a172bef8
Bluetooth: Add support for BCM20702A0 [0b05, 17cb]
...
Yet another vendor specific ID for this chipset; this one for the ASUS
USB-BT400 Bluetooth 4.0 adapter.
T: Bus=03 Lev=02 Prnt=02 Port=01 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=0b05 ProdID=17cb Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=000272C64400
C: #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) 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)
Cc: stable@vger.kernel.org
Signed-off-by: Raphael Kubo da Costa <rakuco@FreeBSD.org >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-09-16 14:36:56 -03:00
Peng Chen
0a3658cccd
Bluetooth: Add a new PID/VID 0cf3/e005 for AR3012.
...
usb device info:
T: Bus=06 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 15 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0cf3 ProdID=e005 Rev= 0.02
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
Cc: Stable <stable@vger.kernel.org >
Signed-off-by: Peng Chen <pengchen@qca.qualcomm.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-09-16 14:36:55 -03:00
Marcel Holtmann
23424c0d31
Bluetooth: Add support creating virtual AMP controllers
...
So far the only option to create a virtual AMP controller was by
setting a module parameter for the hci_vhci driver. This patch adds
the functionality to define inline to create either a BR/EDR or an
AMP controller.
In addition the client will be informed which HCI controller index
it got assigned. That is especially useful for automated end-to-end
testing.
To keep backwards compatibility with existing userspace, the command
for creating a controller type needs to be send right after opening
the device node. If the command is not send, it defaults back to
automatically creating a BR/EDR controller.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-09-16 14:35:55 -03:00
Marcel Holtmann
bfacbb9aec
Bluetooth: Use devname:vhci module alias for virtual HCI driver
...
To allow creating /dev/vhci device node, add the proper module alias for
this driver.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-09-16 14:35:55 -03:00
John W. Linville
69b307a48a
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
2013-08-22 14:27:31 -04:00
Andy Shevchenko
ba34dd3df7
Bluetooth: use DIV_ROUND_UP in suitable places in btmrvl_sdio
...
There are two places where DIV_ROUND_UP may be used. It makes code a bit
clearer.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-08-21 16:46:50 +02:00
John W. Linville
704278ccb5
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
...
Conflicts:
net/bluetooth/hci_core.c
2013-07-31 15:11:50 -04:00
AceLan Kao
1d5b569ef8
Bluetooth: Add support for Atheros [0cf3:e003]
...
Add support for the AR9462 chip
T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0cf3 ProdID=e003 Rev=00.02
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
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
Cc: Stable <stable@vger.kernel.org >
Signed-off-by: AceLan Kao <acelan.kao@canonical.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 19:52:37 +01:00
AceLan Kao
1ebd0b21ab
Bluetooth: Add support for Atheros [0cf3:3121]
...
Add support for the AR3012 chip.
T: Bus=03 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0cf3 ProdID=3121 Rev=00.02
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
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
Signed-off-by: AceLan Kao <acelan.kao@canonical.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 19:52:35 +01:00
Sujith Manoharan
5b77a1f3d7
Bluetooth: ath3k: Add support for ID 0x13d3/0x3402
...
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=13d3 ProdID=3402 Rev= 0.02
S: Manufacturer=Atheros Communications
S: Product=Bluetooth USB Host Controller
S: SerialNumber=Alaska Day 2006
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
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=59701
Signed-off-by: Sujith Manoharan <sujith@msujith.org >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 19:52:34 +01:00
Adam Lee
d9c78e9738
Bluetooth: fix wrong use of PTR_ERR() in btusb
...
PTR_ERR() returns a signed long type value which is limited by IS_ERR(),
it must be a negative number whose range is [-MAX_ERRNO, 0).
The bug here returns negative numbers as error codes, then check it by
"if (ret < 0)", but -PTR_ERR() is actually positive. The wrong use here
leads to failure as below, even panic.
[ 12.958920] Bluetooth: hci0 command 0xfc8e tx timeout
[ 14.961765] Bluetooth: hci0 command 0xfc8e tx timeout
[ 16.964688] Bluetooth: hci0 command 0xfc8e tx timeout
[ 20.954501] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 22.957358] Bluetooth: hci0 command 0xfc8e tx timeout
[ 30.948922] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 32.951780] Bluetooth: hci0 command 0xfc8e tx timeout
[ 40.943359] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 42.946219] Bluetooth: hci0 command 0xfc8e tx timeout
[ 50.937812] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 52.940670] Bluetooth: hci0 command 0xfc8e tx timeout
[ 60.932236] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 62.935092] Bluetooth: hci0 command 0xfc8e tx timeout
[ 70.926688] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 72.929545] Bluetooth: hci0 command 0xfc8e tx timeout
[ 80.921111] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
[ 82.923969] Bluetooth: hci0 command 0xfc2f tx timeout
[ 90.915542] Bluetooth: hci0 sending Intel patch command (0xfc2f) failed (-110)
[ 92.918406] Bluetooth: hci0 command 0xfc11 tx timeout
[ 100.909955] Bluetooth: hci0 sending Intel patch command (0xfc11) failed (-110)
[ 102.912858] Bluetooth: hci0 command 0xfc60 tx timeout
[ 110.904394] Bluetooth: hci0 sending Intel patch command (0xfc60) failed (-110)
[ 112.907293] Bluetooth: hci0 command 0xfc11 tx timeout
[ 120.898831] Bluetooth: hci0 exiting Intel manufacturer mode failed (-110)
[ 120.904757] bluetoothd[1030]: segfault at 4 ip 00007f8b2eb55236 sp 00007fff53ff6920 error 4 in bluetoothd[7f8b2eaff000+cb000]
Signed-off-by: Adam Lee <adam.lee@canonical.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 19:52:33 +01:00
Stanislaw Gruszka
517828a879
Bluetooth: ath3k: don't use stack memory for DMA
...
Memory allocated by vmalloc (including stack) can not be used for DMA,
i.e. data pointer on usb_control_msg() should not point to stack memory.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=977558
Reported-and-tested-by: Andy Lawrence <dr.diesel@gmail.com >
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 19:52:32 +01:00
Thomas Loo
84eb2ae180
Bluetooth: ath3k: Add support for Fujitsu Lifebook UH5x2 [04c5:1330]
...
The Fujitsu Lifebook UH552/UH572 ships with a Qualcomm AR9462/AR3012
WLAN/BT-Combo card.
Add device ID to the ath3k driver to enable the bluetooth side of things.
Patch against v3.10.
T: Bus=03 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04c5 ProdID=1330 Rev=00.02
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
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
Signed-off-by: Thomas Loo <tloo@saltstorm.net >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 19:52:31 +01:00
Jingoo Han
473c13179c
Bluetooth: replace strict_strtol() with kstrtol()
...
The usage of strict_strtol() is not preferred, because
strict_strtol() is obsolete. Thus, kstrtol() should be
used.
Signed-off-by: Jingoo Han <jg1.han@samsung.com >
Acked-by: Marcel Holtmann <marcel@holtmann.org >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-07-25 14:15:25 +01:00
Shuah Khan
502f769662
Bluetooth: Add missing reset_resume dev_pm_ops
...
Add missing reset_resume dev_pm_ops. Missing reset_resume results in the
following message after power management device test. This change sets
reset_resume to btusb_resume().
[ 2506.936134] btusb 1-1.5:1.0: no reset_resume for driver btusb?
[ 2506.936137] btusb 1-1.5:1.1: no reset_resume for driver btusb?
Signed-off-by: Shuah Khan <shuah.kh@samsung.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
2013-06-23 00:23:53 +01:00
John W. Linville
9d1059c248
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2013-06-18 14:04:51 -04:00
Wei Yongjun
6ea81c4155
Bluetooth: btmrvl: fix error return code in btmrvl_sdio_card_to_host()
...
Fix to return -ENOMEM in the skb alloc error handling case
instead of 0, as done elsewhere in this function.
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
Signed-off-by: John W. Linville <linville@tuxdriver.com >
2013-06-13 13:32:28 -04:00
Cho, Yu-Chen
178c059e76
Bluetooth: Add support for Mediatek Bluetooth device [0e8d:763f]
...
This patch adds support for Mediatek Bluetooth device
T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.01 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0e8d ProdID=763f Rev= 1.00
S: Manufacturer=MediaTek
S: Product=BT
S: SerialNumber=1.0
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=450mA
A: FirstIf#= 0 IfCount= 2 Cls=ff(vend.) Sub=ff Prot=ff
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=125us
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff 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=ff Prot=ff 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=ff Prot=ff 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=ff Prot=ff 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=ff Prot=ff 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=ff Prot=ff Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
I: If#= 1 Alt= 6 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=03(O) Atr=01(Isoc) MxPS= 63 Ivl=1ms
E: Ad=83(I) Atr=01(Isoc) MxPS= 63 Ivl=1ms
Signed-off-by: Cho, Yu-Chen <acho@suse.com >
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
Signed-off-by: John W. Linville <linville@tuxdriver.com >
2013-06-13 13:32:28 -04:00