Bluetooth: Allow driver specific cmd timeout handling
Add a hook to allow the BT driver to do device or command specific handling in case of timeouts. This is to be used by Intel driver to reset the device after certain number of timeouts. Signed-off-by: Rajat Jain <rajatja@google.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
b4dfbbd180
commit
e2bef3847e
|
@ -437,6 +437,7 @@ struct hci_dev {
|
|||
int (*post_init)(struct hci_dev *hdev);
|
||||
int (*set_diag)(struct hci_dev *hdev, bool enable);
|
||||
int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
|
||||
void (*cmd_timeout)(struct hci_dev *hdev);
|
||||
};
|
||||
|
||||
#define HCI_PHY_HANDLE(handle) (handle & 0xff)
|
||||
|
|
|
@ -2578,6 +2578,9 @@ static void hci_cmd_timeout(struct work_struct *work)
|
|||
bt_dev_err(hdev, "command tx timeout");
|
||||
}
|
||||
|
||||
if (hdev->cmd_timeout)
|
||||
hdev->cmd_timeout(hdev);
|
||||
|
||||
atomic_set(&hdev->cmd_cnt, 1);
|
||||
queue_work(hdev->workqueue, &hdev->cmd_work);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue