#
5fcc86bd |
| 05-Nov-2015 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Remove redundant setting to zero of bt_cb
The socket allocation functions will always memset skb->cb to zero so there's no need to make other initializations needing the same thing.
Sign
Bluetooth: Remove redundant setting to zero of bt_cb
The socket allocation functions will always memset skb->cb to zero so there's no need to make other initializations needing the same thing.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
f5c4a42a |
| 05-Nov-2015 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Add hci_skb_* helper wrappers for bt_cb(skb) access
For all the HCI driver related variables accesssed via bt_cb(skb), provide helper wrappers.
Signed-off-by: Marcel Holtmann <marcel@hol
Bluetooth: Add hci_skb_* helper wrappers for bt_cb(skb) access
For all the HCI driver related variables accesssed via bt_cb(skb), provide helper wrappers.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
Revision tags: openbmc-20151104-1, v4.3, openbmc-20151102-1, openbmc-20151028-1 |
|
#
242c0ebd |
| 25-Oct-2015 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Rename bt_cb()->req into bt_cb()->hci
The SKB context buffer for HCI request is really not just for requests, information in their are preserved for the whole HCI layer. So it makes more
Bluetooth: Rename bt_cb()->req into bt_cb()->hci
The SKB context buffer for HCI request is really not just for requests, information in their are preserved for the whole HCI layer. So it makes more sense to actually rename it into bt_cb()->hci and also call it then struct hci_ctrl.
In addition that allows moving the decoded opcode for outgoing packets into that struct. So far it was just consuming valuable space from the main shared items. And opcode are not valid for L2CAP packets.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
594b31ea |
| 23-Sep-2015 |
Frederic Danis <frederic.danis@linux.intel.com> |
Bluetooth: Add BT_WARN and bt_dev_warn logging macros
Add warning logging macros to bluetooth subsystem logs.
Signed-off-by: Frederic Danis <frederic.danis@linux.intel.com> Signed-off-by: Marcel Ho
Bluetooth: Add BT_WARN and bt_dev_warn logging macros
Add warning logging macros to bluetooth subsystem logs.
Signed-off-by: Frederic Danis <frederic.danis@linux.intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
e781b7f7 |
| 16-Sep-2015 |
Szymon Janc <ext.szymon.janc@tieto.com> |
Bluetooth: Add BT_ERR_RATELIMITED
This patch adds ratelimited version of the BT_ERR macro.
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
Revision tags: v4.3-rc1, v4.2 |
|
#
6f558b70 |
| 30-Aug-2015 |
Loic Poulain <loic.poulain@intel.com> |
Bluetooth: Add bt_dev logging macros
Add specific bluetooth device logging macros since hci device name is repeatedly referred in bluetooth subsystem logs.
Signed-off-by: Loic Poulain <loic.poulain
Bluetooth: Add bt_dev logging macros
Add specific bluetooth device logging macros since hci device name is repeatedly referred in bluetooth subsystem logs.
Signed-off-by: Loic Poulain <loic.poulain@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v4.2-rc8, v4.2-rc7, v4.2-rc6, v4.2-rc5, v4.2-rc4, v4.2-rc3, v4.2-rc2, v4.2-rc1, v4.1, v4.1-rc8 |
|
#
ff50e8af |
| 09-Jun-2015 |
Arron Wang <arron.wang@intel.com> |
Bluetooth: Move SCO support under BT_BREDR config option
SCO/eSCO link is supported by BR/EDR controller, it is suitable to move them under BT_BREDR config option
Signed-off-by: Arron Wang <arron.w
Bluetooth: Move SCO support under BT_BREDR config option
SCO/eSCO link is supported by BR/EDR controller, it is suitable to move them under BT_BREDR config option
Signed-off-by: Arron Wang <arron.wang@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v4.1-rc7, v4.1-rc6, v4.1-rc5, v4.1-rc4, v4.1-rc3, v4.1-rc2, v4.1-rc1, v4.0, v4.0-rc7 |
|
#
e6214487 |
| 02-Apr-2015 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add second hci_request callback option for full skb
This patch adds a second possible callback for HCI requests where the callback will receive the full skb of the last successfully compl
Bluetooth: Add second hci_request callback option for full skb
This patch adds a second possible callback for HCI requests where the callback will receive the full skb of the last successfully completed HCI command. This API is useful for cases where we want to use a request to read some data and the existing hci_event.c handlers do not store it e.g. in the hci_dev struct.
The reason the patch is a bit bigger than just adding the new API is because the hci_req_cmd_complete() functions required some refactoring to enable it: now hci_req_cmd_complete() is simply used to request the callback pointers if any, and the actual calling of them happens from a single place at the end of hci_event_packet(). The reason for this is that we need to pass the original skb (without any skb_pull, etc modifications done to it) and it's simplest to keep track of it within the hci_event_packet() function.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
db6e3e8d |
| 30-Mar-2015 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Refactor HCI request variables into own struct
In order to shrink the size of bt_skb_cb, this patch moves the HCI request related variables into their own req_ctrl struct. Additionall the
Bluetooth: Refactor HCI request variables into own struct
In order to shrink the size of bt_skb_cb, this patch moves the HCI request related variables into their own req_ctrl struct. Additionall the L2CAP and HCI request structs are placed inside the same union since they will never be used at the same time for the same skb.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
#
a4368ff3 |
| 30-Mar-2015 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Refactor L2CAP variables into l2cap_ctrl
We're getting very close to the maximum possible size of bt_skb_cb. To prepare to shrink the struct with the help of a union this patch moves all
Bluetooth: Refactor L2CAP variables into l2cap_ctrl
We're getting very close to the maximum possible size of bt_skb_cb. To prepare to shrink the struct with the help of a union this patch moves all L2CAP related variables into the l2cap_ctrl struct. To later add other 'ctrl' structs the L2CAP one is renamed simple 'l2cap' instead of 'control'.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v4.0-rc6, v4.0-rc5 |
|
#
d0f172b1 |
| 17-Mar-2015 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add helper to get HCI channel of a socket
We'll need to have access to which HCI channel a socket is bound to, in order to manage pending mgmt commands in clean way. This patch adds a hel
Bluetooth: Add helper to get HCI channel of a socket
We'll need to have access to which HCI channel a socket is bound to, in order to manage pending mgmt commands in clean way. This patch adds a helper for the purpose.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v4.0-rc4 |
|
#
c85be545 |
| 14-Mar-2015 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Add hci_sock_test_flag helper function
The management interface will need access to the socket flags and so provide a helper function for checking them.
Signed-off-by: Marcel Holtmann <m
Bluetooth: Add hci_sock_test_flag helper function
The management interface will need access to the socket flags and so provide a helper function for checking them.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
#
6befc644 |
| 14-Mar-2015 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Add flags field and setting function for HCI sockets
To filter out certain actions for certain HCI sockets introcuce a flags field that allows to configure specific settings on individual
Bluetooth: Add flags field and setting function for HCI sockets
To filter out certain actions for certain HCI sockets introcuce a flags field that allows to configure specific settings on individual sockets.
Since the hci_pinfo structure is private in hci_sock.c, provide helper functions for setting and clearing a given flag.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
Revision tags: v4.0-rc3 |
|
#
6d785aa3 |
| 06-Mar-2015 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Convert mgmt to use HCI chan registration API
This patch converts the existing mgmt code to use the newly introduced generic API for registering HCI channels with mgmt-like semantics.
Si
Bluetooth: Convert mgmt to use HCI chan registration API
This patch converts the existing mgmt code to use the newly introduced generic API for registering HCI channels with mgmt-like semantics.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v4.0-rc2 |
|
#
1b784140 |
| 02-Mar-2015 |
Ying Xue <ying.xue@windriver.com> |
net: Remove iocb argument from sendmsg and recvmsg
After TIPC doesn't depend on iocb argument in its internal implementations of sendmsg() and recvmsg() hooks defined in proto structure, no any user
net: Remove iocb argument from sendmsg and recvmsg
After TIPC doesn't depend on iocb argument in its internal implementations of sendmsg() and recvmsg() hooks defined in proto structure, no any user is using iocb argument in them at all now. Then we can drop the redundant iocb argument completely from kinds of implementations of both sendmsg() and recvmsg() in the entire networking stack.
Cc: Christoph Hellwig <hch@lst.de> Suggested-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Ying Xue <ying.xue@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
6368c235 |
| 01-Mar-2015 |
Eyal Birger <eyal.birger@gmail.com> |
net: bluetooth: compact struct bt_skb_cb by converting boolean fields to bit fields
Convert boolean fields incoming and req_start to bit fields and move force_active in order save space in bt_skb_cb
net: bluetooth: compact struct bt_skb_cb by converting boolean fields to bit fields
Convert boolean fields incoming and req_start to bit fields and move force_active in order save space in bt_skb_cb in an effort to use a portion of skb->cb[] for storing skb->dropcount.
Signed-off-by: Eyal Birger <eyal.birger@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
49a6fe05 |
| 01-Mar-2015 |
Eyal Birger <eyal.birger@gmail.com> |
net: bluetooth: compact struct bt_skb_cb by inlining struct hci_req_ctrl
struct hci_req_ctrl is never used outside of struct bt_skb_cb; Inlining it frees 8 bytes on a 64 bit system in skb->cb[] allo
net: bluetooth: compact struct bt_skb_cb by inlining struct hci_req_ctrl
struct hci_req_ctrl is never used outside of struct bt_skb_cb; Inlining it frees 8 bytes on a 64 bit system in skb->cb[] allowing the addition of more ancillary data.
Signed-off-by: Eyal Birger <eyal.birger@gmail.com> Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
Revision tags: v4.0-rc1, v3.19, v3.19-rc7, v3.19-rc6, v3.19-rc5 |
|
#
1904a853 |
| 11-Jan-2015 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Add opcode parameter to hci_req_complete_t callback
When hci_req_run() calls its provided complete function and one of the HCI commands in the sequence fails, then provide the opcode of f
Bluetooth: Add opcode parameter to hci_req_complete_t callback
When hci_req_run() calls its provided complete function and one of the HCI commands in the sequence fails, then provide the opcode of failing command. In case of success HCI_OP_NOP is provided since all commands completed.
This patch fixes the prototype of hci_req_complete_t and all its users.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
Revision tags: v3.19-rc4, v3.19-rc3, v3.19-rc2, v3.19-rc1, v3.18, v3.18-rc7, v3.18-rc6, v3.18-rc5, v3.18-rc4, v3.18-rc3, v3.18-rc2, v3.18-rc1, v3.17, v3.17-rc7 |
|
#
2b0bf6c8 |
| 22-Sep-2014 |
Joe Perches <joe@perches.com> |
Bluetooth: Convert bt_<level> logging functions to return void
No caller or macro uses the return value so make all the functions return void.
Signed-off-by: Joe Perches <joe@perches.com> Signed-of
Bluetooth: Convert bt_<level> logging functions to return void
No caller or macro uses the return value so make all the functions return void.
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v3.17-rc6, v3.17-rc5 |
|
#
43e73e4e |
| 14-Sep-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Provide HCI command opcode information to driver
The Bluetooth core already does processing of the HCI command header and puts it together before sending it to the driver. It is not reall
Bluetooth: Provide HCI command opcode information to driver
The Bluetooth core already does processing of the HCI command header and puts it together before sending it to the driver. It is not really efficient for the driver to look at the HCI command header again in case it has to make certain decisions about certain commands. To make this easier, just provide the opcode as part of the SKB control buffer information. The extra information about the opcode is optional and only provided for HCI commands.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
Revision tags: v3.17-rc4, v3.17-rc3, v3.17-rc2, v3.17-rc1, v3.16, v3.16-rc7, v3.16-rc6, v3.16-rc5, v3.16-rc4, v3.16-rc3, v3.16-rc2, v3.16-rc1, v3.15 |
|
#
07758991 |
| 08-Jun-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Shrink size of struct l2cap_ctrl fields
The struct l2cap_ctrl fields are wasting an unsigned int when all the bits can fit into an __u8 field.
Signed-off-by: Marcel Holtmann <marcel@holt
Bluetooth: Shrink size of struct l2cap_ctrl fields
The struct l2cap_ctrl fields are wasting an unsigned int when all the bits can fit into an __u8 field.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
Revision tags: v3.15-rc8, v3.15-rc7, v3.15-rc6, v3.15-rc5, v3.15-rc4, v3.15-rc3, v3.15-rc2, v3.15-rc1, v3.14, v3.14-rc8, v3.14-rc7, v3.14-rc6, v3.14-rc5, v3.14-rc4, v3.14-rc3, v3.14-rc2, v3.14-rc1, v3.13 |
|
#
7b5a9241 |
| 16-Jan-2014 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Introduce requirements for security level 4
The security level 4 is a new strong security requirement that is based around 128-bit equivalent strength for link and encryption keys require
Bluetooth: Introduce requirements for security level 4
The security level 4 is a new strong security requirement that is based around 128-bit equivalent strength for link and encryption keys required using FIPS approved algorithms. Which means that E0, SAFER+ and P-192 are not allowed. Only connections created with P-256 resulting from using Secure Connections support are allowed.
This security level needs to be enforced when Secure Connection Only mode is enabled for a controller or a service requires FIPS compliant strong security. Currently it is not possible to enable either of these two cases. This patch just puts in the foundation for being able to handle security level 4 in the future.
It should be noted that devices or services with security level 4 requirement can only communicate using Bluetooth 4.1 controllers with support for Secure Connections. There is no backward compatibilty if used with older hardware.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|
Revision tags: v3.13-rc8, v3.13-rc7, v3.13-rc6, v3.13-rc5, v3.13-rc4, v3.13-rc3 |
|
#
1f435424 |
| 02-Dec-2013 |
Johan Hedberg <johan.hedberg@intel.com> |
Bluetooth: Add new BT_SNDMTU and BT_RCVMTU socket options
This patch adds new socket options for LE sockets since the existing L2CAP_OPTIONS socket option is not usable for LE. For now, the new sock
Bluetooth: Add new BT_SNDMTU and BT_RCVMTU socket options
This patch adds new socket options for LE sockets since the existing L2CAP_OPTIONS socket option is not usable for LE. For now, the new socket options also require LE CoC support to be explicitly enabled to leave some playroom in case something needs to be changed in a backwards incompatible way.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v3.13-rc2, v3.13-rc1, v3.12, v3.12-rc7 |
|
#
0e790c64 |
| 21-Oct-2013 |
Gustavo Padovan <gustavo.padovan@collabora.co.uk> |
Bluetooth: Add L2CAP channel to skb private data
Adding the channel to the skb private data makes possible to us know which channel the skb we have came from.
Signed-off-by: Gustavo Padovan <gustav
Bluetooth: Add L2CAP channel to skb private data
Adding the channel to the skb private data makes possible to us know which channel the skb we have came from.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
show more ...
|
Revision tags: v3.12-rc6, v3.12-rc5 |
|
#
2edf870d |
| 13-Oct-2013 |
Marcel Holtmann <marcel@holtmann.org> |
Bluetooth: Provide msg_name callback for L2CAP connectionless channels
The L2CAP connectionless channels use SOCK_DGRAM and recvmsg() and need to receive the remote BD_ADDR and PSM information via m
Bluetooth: Provide msg_name callback for L2CAP connectionless channels
The L2CAP connectionless channels use SOCK_DGRAM and recvmsg() and need to receive the remote BD_ADDR and PSM information via msg_name from the recvmsg() system call.
So in case the L2CAP socket is for connectionless channels, provide a msg_name callback that can update the data. Also store the remote BD_ADDR and PSM in the skb so it can be extracted later on.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
show more ...
|