[PATCH v2 0/3] Bluetooth: Fail gracefully if device doesn't support pairing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This has grown from the original RFC patch [1] after Marcel pointed out
that mgmt_auth_failed() should be taking a MGMT_STATUS_ value instead of
an HCI error code.

The aim of the series is to allow us to fail gracefully when we detect a
device does not support pairing.  Since it is impossible to tell whether
a device supports pairing or not without attempting to pair with it, we
must handle the "pairing not support" error specially and avoid dropping
the connection in this case.

Converting the other mgmt function that take a status code to map from
HCI to MGMT_STATUS_ in the caller is left for a future series.

A corresponding bluetoothd change is needed to allow clients to detect
that pairing has failed because it is not supported by the device; I
will send a patch for this once the kernel change is accepted.  Existing
versions of bluetoothd will return a generic "Authentication Failed"
error as they do now.

[1] https://www.spinics.net/lists/linux-bluetooth/msg70600.html

John Keeping (3):
  Bluetooth: make mgmt_status() public
  Bluetooth: pass MGMT_STATUS_* into mgmt_auth_failed()
  Bluetooth: SMP: Fail gracefully if device doesn't support pairing

 include/net/bluetooth/hci_core.h |  4 +++-
 net/bluetooth/hci_event.c        |  4 ++--
 net/bluetooth/mgmt.c             |  9 ++++-----
 net/bluetooth/smp.c              | 23 ++++++++++++++++++++---
 4 files changed, 29 insertions(+), 11 deletions(-)

-- 
2.12.2.648.g6730d8bc62.dirty

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux