13 Apr, 2011
11 commits
-
The SD8787 firmware image is shared with mwifiex driver.
Whoever gets loaded first will be responsible for firmware
downloading.Signed-off-by: Kevin Gan
Signed-off-by: Tristan Xu
Signed-off-by: Bing Zhao
Signed-off-by: Gustavo F. Padovan -
It may return error and in this case we do add to the stats.
Signed-off-by: Gustavo F. Padovan
-
Check the return value of hu->proto->recv() in hci_uart_tty_receive()
the recv() may return error, check it, not add this to statistics.Signed-off-by: Jiejing Zhang
Signed-off-by: Gustavo F. Padovan -
Use kernel stored remote Out Of Band data only if management interface
is enabled. Otherwise HCI_OP_REMOTE_OOB_DATA_NEG_REPLY was sent to
controller even if remote Out Of Band data was present in bluetoothd.Signed-off-by: Szymon Janc
Signed-off-by: Gustavo F. Padovan -
Despite it works, handling through l2cap_data_channel() is wrongs.
That function should handle only connection oriented data.Signed-off-by: Gustavo F. Padovan
-
Signed-off-by: Gustavo F. Padovan
-
We should check for the pi->scid there.
Signed-off-by: Gustavo F. Padovan
-
tx_q is the queue used by ERTM mode.
Signed-off-by: Gustavo F. Padovan
-
That was unnecessary use of it.
Signed-off-by: Gustavo F. Padovan
-
Change some BT_DBG messages and consequently remove some struct sock
declarations.Signed-off-by: Gustavo F. Padovan
-
As part of moving all the Channel related operation to struct l2cap_chan.
Signed-off-by: Gustavo F. Padovan
08 Apr, 2011
15 commits
-
This is a regression acctually, caused by the first patch series for
creating a formal strcut l2cap_chan.Signed-off-by: Gustavo F. Padovan
-
As part of the moving channel stuff to l2cap_chan.
Signed-off-by: Gustavo F. Padovan
-
As part of the moving channel stuff to l2cap_chan.
Signed-off-by: Gustavo F. Padovan
-
This also triggered a change in l2cap_send_disconn_req() parameters.
Signed-off-by: Gustavo F. Padovan
-
As part of the moving channel stuff to l2cap_chan.
Signed-off-by: Gustavo F. Padovan
-
As part of the moving channel stuff to l2cap_chan.
Signed-off-by: Gustavo F. Padovan
-
As part of the moving channel stuff to l2cap_chan.
Signed-off-by: Gustavo F. Padovan
-
As part of the moving channel to stuff to struct l2cap_chan.
Signed-off-by: Gustavo F. Padovan
-
This is part of "moving things to l2cap_chan". As one the first move it
triggered a big number of changes in the funcions parameters, basically
changing the struct sock param to struct l2cap_chan.Signed-off-by: Gustavo F. Padovan
-
Move some channel specific stuff to l2cap_core.c, this will make things
more clear.Signed-off-by: Gustavo F. Padovan
-
They are also l2cap_chan specific.
Signed-off-by: Gustavo F. Padovan
-
ident is chan property, no need to reside on socket.
Signed-off-by: Gustavo F. Padovan
-
As we use struct list_head to keep L2CAP channels list the workaround with
del_list is not needed anymore.Signed-off-by: Gustavo F. Padovan
-
Use a well known Kernel API is always a good idea than implement your own
list.
In the future we might use RCU on this list.Signed-off-by: Gustavo F. Padovan
-
struct l2cap_chan cames to create a clear separation between what
properties and data belongs to the L2CAP channel and what belongs to the
socket. By now we just fold the struct sock * in struct l2cap_chan as all
the channel info is struct l2cap_pinfo today.In the next commits we will see a move of channel stuff to struct
l2cap_chan.Signed-off-by: Gustavo F. Padovan
06 Apr, 2011
2 commits
-
Convert from strict_strto*() interfaces to kstrto*() interfaces.
Signed-off-by: Alexey Dobriyan
Signed-off-by: Gustavo F. Padovan -
The allocation in mgmt_control() code are in user context and not locked
by any spinlock, so it's not recommended the use of GFP_ATOMIC there.Signed-off-by: Gustavo F. Padovan
05 Apr, 2011
7 commits
-
spin_lock() and spin_unlock() are more apropiated for user context.
Signed-off-by: Gustavo F. Padovan
-
kernel_thread() is a low-level implementation detail and
EXPORT_SYMBOL(kernel_thread) is scheduled for removal.
Use the API instead.Signed-off-by: Szymon Janc
Signed-off-by: Gustavo F. Padovan -
kernel_thread() is a low-level implementation detail and
EXPORT_SYMBOL(kernel_thread) is scheduled for removal.
Use the API instead.Signed-off-by: Szymon Janc
Signed-off-by: Gustavo F. Padovan -
kernel_thread() is a low-level implementation detail and
EXPORT_SYMBOL(kernel_thread) is scheduled for removal.
Use the API instead.Signed-off-by: Szymon Janc
Signed-off-by: Gustavo F. Padovan -
This patch adds a new remote_name event to the Management interface
which is sent every time the name of a remote device is resolved (over
BR/EDR).Signed-off-by: Johan Hedberg
Signed-off-by: Gustavo F. Padovan -
This patch adds a device_found event to the Management interface. For
now the event only maps to BR/EDR inquiry result HCI events, but in the
future the plan is to also use it for the LE device discovery process.Signed-off-by: Johan Hedberg
Signed-off-by: Gustavo F. Padovan -
It is unnecessary, once we are always in interrupt context.
Signed-off-by: Gustavo F. Padovan
01 Apr, 2011
5 commits
-
After we made debugobjects working again, we got the following:
WARNING: at lib/debugobjects.c:262 debug_print_object+0x8e/0xb0()
Hardware name: System Product Name
ODEBUG: free active (active state 0) object type: timer_list hint: hci_cmd_timer+0x0/0x60
Pid: 2125, comm: dmsetup Tainted: G W 2.6.38-06707-gc62b389 #110375
Call Trace:
[] warn_slowpath_common+0x7a/0xb0
[] warn_slowpath_fmt+0x46/0x50
[] debug_print_object+0x8e/0xb0
[] ? hci_cmd_timer+0x0/0x60
[] debug_check_no_obj_freed+0x125/0x230
[] ? check_object+0xb3/0x2b0
[] kfree+0x150/0x190
[] ? bt_host_release+0x16/0x20
[] bt_host_release+0x16/0x20
[] device_release+0x27/0xa0
[] kobject_release+0x4c/0xa0
[] ? kobject_release+0x0/0xa0
[] kref_put+0x36/0x70
[] kobject_put+0x27/0x60
[] put_device+0x17/0x20
[] hci_free_dev+0x29/0x30
[] vhci_release+0x36/0x70
[] fput+0xd6/0x1f0
[] filp_close+0x66/0x90
[] sys_close+0x99/0xf0
[] system_call_fastpath+0x16/0x1bThat timer was introduced with commit 6bd32326cda(Bluetooth: Use
proper timer for hci command timout)Timer seems to be running when the thing is closed. Removing the timer
unconditionally fixes the problem. And yes, it needs to be fixed
before the HCI_UP check.Signed-off-by: Thomas Gleixner
Tested-by: Ingo Molnar
Signed-off-by: Gustavo F. Padovan -
Sometimes L2CAP connection remains hanging. Make sure that
L2CAP channel is deleted.Signed-off-by: Andrei Emeltchenko
Signed-off-by: Gustavo F. Padovan -
The code was correctly calling _unlock at the end of the function but
there was no actual _lock call anywhere.Signed-off-by: Johan Hedberg
Signed-off-by: Gustavo F. Padovan -
Now that we have support for LE connections, before discarding a
frame we must check if there's a LE connection over that transport.Signed-off-by: Vinicius Costa Gomes
Acked-by: Ville Tervo
Signed-off-by: Gustavo F. Padovan