Bluetooth: Add shutdown callback before closing the device
This callback allows a vendor to send the vendor specific commands before cloing the hci interface. Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
3e544ef935
commit
a44fecbd52
|
@ -373,6 +373,7 @@ struct hci_dev {
|
|||
int (*close)(struct hci_dev *hdev);
|
||||
int (*flush)(struct hci_dev *hdev);
|
||||
int (*setup)(struct hci_dev *hdev);
|
||||
int (*shutdown)(struct hci_dev *hdev);
|
||||
int (*send)(struct hci_dev *hdev, struct sk_buff *skb);
|
||||
void (*notify)(struct hci_dev *hdev, unsigned int evt);
|
||||
void (*hw_error)(struct hci_dev *hdev, u8 code);
|
||||
|
|
|
@ -1591,6 +1591,12 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
|||
{
|
||||
BT_DBG("%s %p", hdev->name, hdev);
|
||||
|
||||
if (!test_bit(HCI_UNREGISTER, &hdev->dev_flags)) {
|
||||
/* Execute vendor specific shutdown routine */
|
||||
if (hdev->shutdown)
|
||||
hdev->shutdown(hdev);
|
||||
}
|
||||
|
||||
cancel_delayed_work(&hdev->power_off);
|
||||
|
||||
hci_req_cancel(hdev, ENODEV);
|
||||
|
|
Loading…
Reference in New Issue