Bluetooth: Perform a power cycle when receiving hardware error event
authorMarcel Holtmann <marcel@holtmann.org>
Wed, 28 Jan 2015 19:09:55 +0000 (11:09 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 28 Jan 2015 20:26:24 +0000 (21:26 +0100)
commitc7741d16a57cbf97eebe53f27e8216b1ff20e20c
tree8956a07a75e67675e8c3613708183a852b9e0559
parent5c912495b7a8ab6adae877979abfffba4340e06c
Bluetooth: Perform a power cycle when receiving hardware error event

When receiving a HCI Hardware Error event, the controller should be
assumed to be non-functional until issuing a HCI Reset command.

The Bluetooth hardware errors are vendor specific and so add a
new hdev->hw_error callback that drivers can provide to run extra
code to handle the hardware error.

After completing the vendor specific error handling perform a full
reset of the Bluetooth stack by closing and re-opening the transport.

Based-on-patch-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
include/net/bluetooth/hci_core.h
net/bluetooth/hci_core.c
net/bluetooth/hci_event.c