- 19 6月, 2015 10 次提交
-
-
由 Florian Grandel 提交于
The create_instance_scan_rsp_data() function could not deal with multiple advertising instances previously. This is being fixed by adding an additional instance parameter. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
Previously enable_advertising() would rely on get_adv_instance_scan_rsp_len() which checked for a hard coded instance identifier. This is being changed to check for the current advertising instance's scan response length instead. The function is renamed accordingly. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
Switch if and else conditions to replace a negative statement by a positive one which makes the condition more readable. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
The get_adv_instance_flags() would not work with instance identifiers other than 0x01. This is being fixed so that arbitrary instance identifiers can be dealt with while still correctly dealing with the special case of the 0x00 identifier. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
Replaces the hard coded instance identifier in get_current_adv_instance() with the actual current instance identifier so that this method is prepared to work with more than one advertising instance. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
The read_adv_features() method had a single instance identifier hard coded. Refer to the advertising instance list instead to return a dynamically generated list of instance identifiers. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
The ...for_instance function name is quite long and does not follow the ..._inst_... convention followed elsewhere in the code. This patch renames the ...for_instance functions to their shorter ..._inst_... version. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
update_scan_rsp_data() duplicates code from get_current_adv_instance(). This is being fixed by letting the former make use of the latter. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
Currently the delayed work managing advertising duration and timeout is part of the advertising instance structure. This is not correct as only a single instance can be advertised at any given time. To implement round robin advertising a single delayed work structure is needed. To fix this the delayed work structure is being moved to the hci_dev structure. The instance specific variable is renamed to "remaining_time" to make it clear that this is the remaining lifetime of the instance and not the current advertising timeout. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Florian Grandel 提交于
The current hci dev structure only supports a single advertising instance. To support multi-instance advertising it is necessary to introduce a linked list of advertising instances so that multiple advertising instances can be dynamically added and/or removed. In a first step, the existing adv_instance member of the hci_dev struct is supplemented by a linked list of advertising instances. This patch introduces the list and supporting list management infrastructure. The list is not being used yet. Signed-off-by: NFlorian Grandel <fgrandel@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 18 6月, 2015 5 次提交
-
-
由 Glenn Ruben Bakke 提交于
This patch removes the additional module_put() in disconnect_all_peers() making a correct module refcount so that the module can be removed after disabling 6lowpan through debugfs. Signed-off-by: NLukasz Duda <lukasz.duda@nordicsemi.no> Signed-off-by: NGlenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Glenn Ruben Bakke 提交于
This patch removes the kfree of the netdev priv in device_event() upon NETDEV_UNREGISTER event. The freeing of memory is taken care of by the netdev destructor. Signed-off-by: NLukasz Duda <lukasz.duda@nordicsemi.no> Signed-off-by: NGlenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Glenn Ruben Bakke 提交于
This patch moves the sysfs device used by the netdev from the device of the first connected peer to the hci sysfs device. Using the sysfs device of hci instead of the first connected device fixes this issue such that the sysfs group of tx-0 and bt0 kobject are still present after the last peer has been deleted and all sysfs entries can be removed. Signed-off-by: NLukasz Duda <lukasz.duda@nordicsemi.no> Signed-off-by: NGlenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Glenn Ruben Bakke 提交于
This patch renames the variable used to trigger scheduling of delete_netdev. Changed to infinitiv in order to describe the action to be done. Signed-off-by: NLukasz Duda <lukasz.duda@nordicsemi.no> Signed-off-by: NGlenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Glenn Ruben Bakke 提交于
This patch fixes an issue with the netdev not being unregistered when the last peer is deleted. Removing the logical negation operator on the boolean solves this issue. If the last peer is removed the condition will be true, and the delete_netdev() is scheduled. Signed-off-by: NLukasz Duda <lukasz.duda@nordicsemi.no> Signed-off-by: NGlenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 17 6月, 2015 2 次提交
-
-
由 Alexander Aring 提交于
There is no need to init res with zero, res can be unused but then we returning zero and not res. Signed-off-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Alexander Aring 提交于
This patch moves the hardware setting before calling the driver start callback which activates the receive handling. The hardware setup contains settings like address filtering which should be setup before activate the receive handling on the transceiver. These setting are protected by ieee802154_check_concurrent_iface check. This means we need to set these registers once before calling drv_start and can't be overwritten by other interfaces. Signed-off-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 15 6月, 2015 3 次提交
-
-
由 Alexander Aring 提交于
This patch flushs the workqueue which is currently used for xmit_sync callback before calling stop driver-ops. Flush the queue will ensure all pending tx frames are transmitted. Signed-off-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Alexander Aring 提交于
The interframe spacing timer is a per phy definition and is part of a ieee802154_local structure. If we have possible multiple interfaces ifdown one interface then the timer should not be cancled. First if the last interface is down and the receive handling is stopped we should be sure that the interframe spacing timer isn't run anymore. Signed-off-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Varka Bhadram 提交于
This patch replaces !netif_running(sdata->dev) with !ieee802154_sdata_running(sdata) and also devide the code two separate if branches. Signed-off-by: NVarka Bhadram <varkab@cdac.in> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 12 6月, 2015 6 次提交
-
-
由 Johan Hedberg 提交于
The encryption key size is read only for BR/EDR (ACL_LINK) connections so there's no need to check for it in the read_enc_key_size_complete() callback. Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Johan Hedberg 提交于
When pairing over SMP over BR/EDR the generated LTK has by default the same key size as the BR/EDR Link Key. Make sure we don't set our Pairing Request/Response max value to anything higher than that. Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Johan Hedberg 提交于
Since Bluetooth 3.0 there's a HCI command available for reading the encryption key size of an BR/EDR connection. This information is essential e.g. for generating an LTK using SMP over BR/EDR, so store it as part of struct hci_conn. Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Johan Hedberg 提交于
Checking for SC-only mode requirements when we get an encrypt change event shouldn't be limited to the BT_CONFIG state but done any time encryption changes. Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Johan Hedberg 提交于
This patch adds a debugfs control to set a different minimum LE encryption key size. This is useful for testing that implementation of the encryption key size handling is behaving correctly (e.g. that we get appropriate 'Encryption Key Size' error responses when necessary). Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Johan Hedberg 提交于
This patch adds a debugfs control to set a different maximum LE encryption key size. This is useful for testing that implementation of the encryption key size handling is behaving correctly. Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 11 6月, 2015 1 次提交
-
-
由 Alexey Dobriyan 提交于
list_del() poisons pointers with special values, no need to overwrite them. Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 10 6月, 2015 1 次提交
-
-
由 Johan Hedberg 提交于
When we notify user space of a new LTK or distribute an LTK to the remote peer the value passed should be the shortened version so that it's easy to compare values in various traces. The core spec also sets the requirements for the shortening/masking as: "The masking shall be done after generation and before being distributed, used or stored." Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 09 6月, 2015 5 次提交
-
-
由 Arron Wang 提交于
SCO/eSCO link is supported by BR/EDR controller, it is suitable to move them under BT_BREDR config option Signed-off-by: NArron Wang <arron.wang@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Arron Wang 提交于
The return value of l2cap_recv_acldata() and sco_recv_scodata() are not used, then change it to return void Signed-off-by: NArron Wang <arron.wang@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Loic Poulain 提交于
Don't interfere with the user channel exclusive access. Signed-off-by: NLoic Poulain <loic.poulain@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Stefan Schmidt 提交于
This call was used before we aligned our code with the wireless code base. We are wanted to handle this in the err: code path. Which would actually not work because the WARN_ON() macro would reset the res value to 0 and thus we would never hit err:. Removing it makes the code do what we actually intend. Signed-off-by: NStefan Schmidt <stefan@osg.samsung.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Johan Hedberg 提交于
The encryption key size for LTKs is supposed to be applied only at the moment of encryption. When generating a Link Key (using LE SC) from the LTK the full non-shortened value should be used. This patch modifies the code to always keep the full value around and only apply the key size when passing the value to HCI. Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 08 6月, 2015 1 次提交
-
-
由 Marcel Holtmann 提交于
During the initial setup stage of a controller, the low-level transport is actually active. This means that HCI_UP is true. To avoid toggling the transport off and back on again for normal operation the kernel holds a grace period with HCI_AUTO_OFF that will turn the low-level transport off in case no user is present. The idea of the grace period is important to avoid having to initialize all of the controller twice. So legacy ioctl and the new management interface knows how to clear this grace period and then start normal operation. For the user channel operation this grace period has not been taken into account which results in the problem that HCI_UP and HCI_AUTO_OFF are set and the kernel will return EBUSY. However from a system point of view the controller is ready to be grabbed by either the ioctl, the management interface or the user channel. This patch brings the user channel to the same level as the other two entries for operating a controller. Signed-off-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com> Cc: stable@vger.kernel.org
-
- 07 6月, 2015 2 次提交
-
-
由 Alexander Aring 提交于
This patch removes the virtual interface structure from sub if data struct, because it isn't used anywhere. This structure could be useful for give per interface information at softmac driver layer. Nevertheless there exist no use case currently and it contains the interface type information currently. This information is also stored inside wpan dev which is now used to check on the wpan dev interface type. Signed-off-by: NAlexander Aring <alex.aring@gmail.com> Reviewed-by: NVarka Bhadram <varkabhadram@gmail.com> Acked-by: NVarka Bhadram <varkabhadram@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Loic Poulain 提交于
The hci close method needs to know if we are in user channel context. Only add the index to mgmt once close is performed. Signed-off-by: NLoic Poulain <loic.poulain@intel.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 06 6月, 2015 1 次提交
-
-
由 Jaganath Kanakkassery 提交于
addr can be NULL and it should not be dereferenced before NULL checking. Signed-off-by: NJaganath Kanakkassery <jaganath.k@samsung.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 04 6月, 2015 3 次提交
-
-
由 Varka Bhadram 提交于
This patch will export the supported commands by the devices to the userspace. This will be useful to check if HardMAC drivers can support a specific command or not. Signed-off-by: NVarka Bhadram <varkab@cdac.in> Acked-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Lennert Buytenhek 提交于
The AF_IEEE802154 sockaddr looks like this: struct sockaddr_ieee802154 { sa_family_t family; /* AF_IEEE802154 */ struct ieee802154_addr_sa addr; }; struct ieee802154_addr_sa { int addr_type; u16 pan_id; union { u8 hwaddr[IEEE802154_ADDR_LEN]; u16 short_addr; }; }; On most architectures there will be implicit structure padding here, in two different places: * In struct sockaddr_ieee802154, two bytes of padding between 'family' (unsigned short) and 'addr', so that 'addr' starts on a four byte boundary. * In struct ieee802154_addr_sa, two bytes at the end of the structure, to make the structure 16 bytes. When calling recvmsg(2) on a PF_IEEE802154 SOCK_DGRAM socket, the ieee802154 stack constructs a struct sockaddr_ieee802154 on the kernel stack without clearing these padding fields, and, depending on the addr_type, between four and ten bytes of uncleared kernel stack will be copied to userspace. We can't just insert two 'u16 __pad's in the right places and zero those before copying an address to userspace, as not all architectures insert this implicit padding -- from a quick test it seems that avr32, cris and m68k don't insert this padding, while every other architecture that I have cross compilers for does insert this padding. The easiest way to plug the leak is to just memset the whole struct sockaddr_ieee802154 before filling in the fields we want to fill in, and that's what this patch does. Cc: stable@vger.kernel.org Signed-off-by: NLennert Buytenhek <buytenh@wantstofly.org> Acked-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
由 Varka Bhadram 提交于
This patch make to use the same naming convention that mac802154 tracing follows and fixes the format specifier for extended addr. Signed-off-by: NVarka Bhadram <varkab@cdac.in> Acked-by: NAlexander Aring <alex.aring@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-