[PATCH v3 5/7] Bluetooth: btnxpuart: Simplify nxp_set_ind_reset() by __hci_reset_dev()
Zijun Hu <[email protected]> Sat, 01 Aug 2026 23:31:40 -0700
| Newsgroups | org.kernel.vger.linux-bluetooth,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
nxp_set_ind_reset() injects the non-zero hardware error code BTNXPUART_IR_HW_ERR. Simplify it by __hci_reset_dev(hdev, BTNXPUART_IR_HW_ERR). Signed-off-by: Zijun Hu <[email protected]> --- drivers/bluetooth/btnxpuart.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/bluetooth/btnxpuart.c b/drivers/bluetooth/btnxpuart.c index 0bb300eef157..993c48b5f593 100644 --- a/drivers/bluetooth/btnxpuart.c +++ b/drivers/bluetooth/btnxpuart.c @@ -1326,29 +1326,17 @@ static int nxp_check_boot_sign(struct btnxpuart_dev *nxpdev) return wait_event_interruptible_timeout(nxpdev->check_boot_sign_wait_q, !test_bit(BTNXPUART_CHECK_BOOT_SIGNATURE, &nxpdev->tx_state), msecs_to_jiffies(1000)); } static int nxp_set_ind_reset(struct hci_dev *hdev, void *data) { - static const u8 ir_hw_err[] = { HCI_EV_HARDWARE_ERROR, - 0x01, BTNXPUART_IR_HW_ERR }; - struct sk_buff *skb; - - skb = bt_skb_alloc(3, GFP_ATOMIC); - if (!skb) - return -ENOMEM; - - hci_skb_pkt_type(skb) = HCI_EVENT_PKT; - skb_put_data(skb, ir_hw_err, 3); - - /* Inject Hardware Error to upper stack */ - return hci_recv_frame(hdev, skb); + return __hci_reset_dev(hdev, BTNXPUART_IR_HW_ERR); } /* Firmware dump */ static void nxp_coredump(struct hci_dev *hdev) { struct sk_buff *skb; u8 pcmd = 2; -- 2.34.1