13 Jun, 2020

1 commit


05 Apr, 2020

1 commit

  • Micrsoft defined a set for HCI vendor extensions. Check the following
    link for details:

    https://docs.microsoft.com/en-us/windows-hardware/drivers/bluetooth/microsoft-defined-bluetooth-hci-commands-and-events

    This provides the basic framework to enable the extension and read its
    supported features. Drivers still have to declare support for this
    extension before it can be utilized by the host stack.

    Signed-off-by: Miao-chen Chou
    Signed-off-by: Marcel Holtmann
    Signed-off-by: Johan Hedberg

    Miao-chen Chou
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

25 Apr, 2017

1 commit


16 Dec, 2016

1 commit


24 Feb, 2016

1 commit


30 Jul, 2015

1 commit

  • Move A2MP Module under BT_HS config option and allow
    the user have flexible option to choose the feature only
    they need

    a2mp_discover_amp() & a2mp_channel_create() are a2mp module
    entry point for master and slave, and this is dynamic
    invoked depends on the userspace or remote request, then
    we defined their implementation depends on BT_HS config

    Signed-off-by: Arron Wang
    Signed-off-by: Marcel Holtmann

    Arron Wang
     

09 Jun, 2015

1 commit


18 Mar, 2015

1 commit

  • There are several mgmt protocol features that will be needed by more
    than just the current HCI_CHANNEL_CONTROL. These include sending generic
    events as well as handling pending commands. This patch moves these
    functions out from mgmt.c to a new mgmt_util.c file.

    Signed-off-by: Johan Hedberg
    Signed-off-by: Marcel Holtmann

    Johan Hedberg
     

16 Feb, 2015

1 commit


30 Dec, 2014

1 commit

  • This add support for the Bluetooth self testing framework that allows
    running certain test cases of sample data to ensure correctness of its
    basic functionality.

    With this patch only the basic framework will be added. It contains
    the build magic that allows running this at module loading time or
    at late_initcall stage when built into the kernel image.

    Signed-off-by: Marcel Holtmann
    Signed-off-by: Johan Hedberg

    Marcel Holtmann
     

20 Dec, 2014

1 commit

  • The debugfs file creation has been part of the core initialization
    handling of controllers. With the introduction of Bluetooth 4.2 core
    specification, the number of debugfs files is increasing even further.

    To avoid cluttering the core controller handling, create a separate
    file hci_debugfs.c to centralize all debugfs file creation. For now
    leave the current files in the core, but in the future all debugfs
    file creation will be moved.

    Signed-off-by: Marcel Holtmann
    Signed-off-by: Johan Hedberg

    Marcel Holtmann
     

19 Dec, 2014

1 commit

  • None of the hci_request related things in net/bluetooth/hci_core.h are
    needed anywhere outside of the core bluetooth module. This patch creates
    a new net/bluetooth/hci_request.c file with its corresponding h-file and
    moves the functionality there from hci_core.c and hci_core.h.

    Signed-off-by: Johan Hedberg
    Signed-off-by: Marcel Holtmann

    Johan Hedberg
     

03 Dec, 2014

1 commit

  • This patch adds a simple ECC library that will act as a fundamental
    building block for LE Secure Connections. The library has a simple API
    consisting of two functions: one for generating a public/private key
    pair and another one for generating a Diffie-Hellman key from a local
    private key and a remote public key.

    The code has been taken from https://github.com/kmackay/easy-ecc and
    modified to conform with the kernel coding style.

    Signed-off-by: Johan Hedberg
    Signed-off-by: Marcel Holtmann

    Johan Hedberg
     

03 Jul, 2014

1 commit

  • Instead of adding the 6LoWPAN functionality to Bluetooth module,
    we create a separate kernel module for it.

    Usage:

    In the slave side do this:

    $ modprobe bluetooth_6lowpan
    $ echo 62 > /sys/kernel/debug/bluetooth/6lowpan_psm
    $ hciconfig hci0 leadv

    In the master side do this:

    $ modprobe bluetooth_6lowpan
    $ echo 62 > /sys/kernel/debug/bluetooth/6lowpan_psm
    $ echo 'connect E0:06:E6:B7:2A:73 1' > \
    /sys/kernel/debug/bluetooth/6lowpan_control

    The 6LoWPAN functionality can be controlled by psm value. If it
    is left to 0, then the module is disabled and all the 6LoWPAN
    connections are dropped if there were any. In the above example,
    the psm value is just an example and not a real value for
    6LoWPAN service. The real psm value is yet to be defined in
    Bluetooth specification.

    The 6lowpan controlling interface is a temporary solution
    until the specifications are ready.

    Signed-off-by: Jukka Rissanen
    Signed-off-by: Marcel Holtmann

    Jukka Rissanen
     

11 Mar, 2014

1 commit

  • Currently you can have bluetooth 6lowpan without ipv6 enabled. This
    doesn't make any sense. With this patch you can disable/enable bluetooth
    6lowpan support at compile time.

    The current bluetooth 6lowpan implementation doesn't check the return
    value of 6lowpan function. Nevertheless I added -EOPNOTSUPP as return value
    if 6lowpan bluetooth is disabled.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

18 Jan, 2014

1 commit

  • It's now built as a separate utility module, and enabling BT selects
    that module in Kconfig. This fixes:

    net/ieee802154/built-in.o:(___ksymtab_gpl+lowpan_process_data+0x0): multiple definition of `__ksymtab_lowpan_process_data'
    net/bluetooth/built-in.o:(___ksymtab_gpl+lowpan_process_data+0x0): first defined here
    net/ieee802154/built-in.o:(___ksymtab_gpl+lowpan_header_compress+0x0): multiple definition of `__ksymtab_lowpan_header_compress'
    net/bluetooth/built-in.o:(___ksymtab_gpl+lowpan_header_compress+0x0): first defined here
    net/ieee802154/built-in.o: In function `lowpan_header_compress':
    net/ieee802154/6lowpan_iphc.c:606: multiple definition of `lowpan_header_compress'
    net/bluetooth/built-in.o:/home/swarren/shared/git_wa/kernel/kernel.git/net/bluetooth/../ieee802154/6lowpan_iphc.c:606: first defined here
    net/ieee802154/built-in.o: In function `lowpan_process_data':
    net/ieee802154/6lowpan_iphc.c:344: multiple definition of `lowpan_process_data'
    net/bluetooth/built-in.o:/home/swarren/shared/git_wa/kernel/kernel.git/net/bluetooth/../ieee802154/6lowpan_iphc.c:344: first defined here
    make[1]: *** [net/built-in.o] Error 1

    (this change probably simply wasn't "git add"d to a53d34c3465b)

    Fixes: a53d34c3465b ("net: move 6lowpan compression code to separate module")
    Fixes: 18722c247023 ("Bluetooth: Enable 6LoWPAN support for BT LE devices")
    Signed-off-by: Stephen Warren
    Acked-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Stephen Warren
     

12 Dec, 2013

1 commit

  • This is initial version of
    http://tools.ietf.org/html/draft-ietf-6lo-btle-00

    By default the 6LoWPAN support is not activated and user
    needs to tweak /sys/kernel/debug/bluetooth/hci0/6lowpan
    file.

    The kernel needs IPv6 support before 6LoWPAN is usable.

    Signed-off-by: Jukka Rissanen
    Signed-off-by: Johan Hedberg
    Signed-off-by: Marcel Holtmann

    Jukka Rissanen
     

02 Oct, 2013

1 commit


28 Sep, 2012

1 commit

  • When receiving A2MP Get AMP Assoc Request execute Read Local AMP Assoc
    HCI command to AMP controller. If the AMP Assoc data is larger than it
    can fit to HCI event only fragment is read. When all fragments are read
    send A2MP Get AMP Assoc Response.

    Signed-off-by: Andrei Emeltchenko
    Signed-off-by: Gustavo Padovan

    Andrei Emeltchenko
     

05 Jun, 2012

1 commit


21 Dec, 2011

1 commit


14 Jun, 2011

1 commit


15 Feb, 2011

1 commit

  • Actually doesn't make sense have these modules built separately.
    The L2CAP layer is needed by almost all Bluetooth protocols and profiles.
    There isn't any real use case without having L2CAP loaded.
    SCO is only essential for Audio transfers, but it is so small that we can
    have it loaded always in bluetooth.ko without problems.
    If you really doesn't want it you can disable SCO in the kernel config.

    Signed-off-by: Gustavo F. Padovan

    Gustavo F. Padovan
     

08 Feb, 2011

2 commits


08 Dec, 2010

1 commit


07 Dec, 2010

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds