1. 04 1月, 2015 2 次提交
  2. 03 1月, 2015 6 次提交
  3. 30 12月, 2014 8 次提交
  4. 27 12月, 2014 1 次提交
  5. 25 12月, 2014 2 次提交
    • J
      Bluetooth: Fix accepting connections when not using mgmt · 6a8fc95c
      Johan Hedberg 提交于
      When connectable mode is enabled (page scan on) through some non-mgmt
      method the HCI_CONNECTABLE flag will not be set. For backwards
      compatibility with user space versions not using mgmt we should not
      require HCI_CONNECTABLE to be set if HCI_MGMT is not set.
      Reported-by: NPali Rohár <pali.rohar@gmail.com>
      Tested-by: NPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Cc: stable@vger.kernel.org # 3.17+
      6a8fc95c
    • M
      Bluetooth: Fix controller configuration with HCI_QUIRK_INVALID_BDADDR · 8bfe8442
      Marcel Holtmann 提交于
      When controllers set the HCI_QUIRK_INVALID_BDADDR flag, it is required
      by userspace to program a valid public Bluetooth device address into
      the controller before it can be used.
      
      After successful address configuration, the internal state changes and
      the controller runs the complete initialization procedure. However one
      small difference is that this is no longer the HCI_SETUP stage. The
      HCI_SETUP stage is only valid during initial controller setup. In this
      case the stack runs the initialization as part of the HCI_CONFIG stage.
      
      The controller version information, default name and supported commands
      are only stored during HCI_SETUP. While these information are static,
      they are not read initially when HCI_QUIRK_INVALID_BDADDR is set. So
      when running in HCI_CONFIG state, these information need to be updated
      as well.
      
      This especially impacts Bluetooth 4.1 and later controllers using
      extended feature pages and second event mask page.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Cc: stable@vger.kernel.org # 3.17+
      8bfe8442
  6. 21 12月, 2014 2 次提交
  7. 20 12月, 2014 12 次提交
  8. 19 12月, 2014 6 次提交
  9. 18 12月, 2014 1 次提交
    • M
      Bluetooth: Fix bug with filter in service discovery optimization · ea8ae251
      Marcel Holtmann 提交于
      The optimization for filtering out extended inquiry results, advertising
      reports or scan response data based on provided UUID list has a logic
      bug. In case no match is found in the advertising data, the scan
      response is ignored and not checked against the filter. This will lead
      to events being filtered wrongly.
      
      Change the code to actually only drop the events when the scan response
      data is not present. If it is present, it needs to be checked against
      the provided filter.
      
      The patch is a bit more complex than it needs to be. That is because
      it also fixes this compiler warning that some gcc versions produce.
      
        CC      net/bluetooth/mgmt.o
      net/bluetooth/mgmt.c: In function ‘mgmt_device_found’:
      net/bluetooth/mgmt.c:7028:7: warning: ‘match’ may be used uninitialized in this function [-Wmaybe-uninitialized]
        bool match;
             ^
      
      It seems that gcc can not clearly figure out the context of the match
      variable. So just change the branches for the extended inquiry response
      and advertising data around so that it is clear.
      Reported-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      ea8ae251