Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-net-2025-05-30' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth

Luiz Augusto von Dentz says:

====================
bluetooth pull request for net:

- hci_qca: move the SoC type check to the right place
- MGMT: reject malformed HCI_CMD_SYNC commands
- btnxpuart: Fix missing devm_request_irq() return value check
- L2CAP: Fix not responding with L2CAP_CR_LE_ENCRYPTION

* tag 'for-net-2025-05-30' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth:
Bluetooth: L2CAP: Fix not responding with L2CAP_CR_LE_ENCRYPTION
Bluetooth: hci_qca: move the SoC type check to the right place
Bluetooth: btnxpuart: Fix missing devm_request_irq() return value check
Bluetooth: MGMT: reject malformed HCI_CMD_SYNC commands
====================

Link: https://patch.msgid.link/20250530174835.405726-1-luiz.dentz@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+13 -9
+2
drivers/bluetooth/btnxpuart.c
··· 533 533 ps_host_wakeup_irq_handler, 534 534 IRQF_ONESHOT | IRQF_TRIGGER_FALLING, 535 535 dev_name(&serdev->dev), nxpdev); 536 + if (ret) 537 + bt_dev_info(hdev, "error setting wakeup IRQ handler, ignoring\n"); 536 538 disable_irq(psdata->irq_handler); 537 539 device_init_wakeup(&serdev->dev, true); 538 540 }
+7 -7
drivers/bluetooth/hci_qca.c
··· 2415 2415 2416 2416 qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable", 2417 2417 GPIOD_OUT_LOW); 2418 - if (IS_ERR(qcadev->bt_en) && 2419 - (data->soc_type == QCA_WCN6750 || 2420 - data->soc_type == QCA_WCN6855)) { 2421 - dev_err(&serdev->dev, "failed to acquire BT_EN gpio\n"); 2422 - return PTR_ERR(qcadev->bt_en); 2423 - } 2418 + if (IS_ERR(qcadev->bt_en)) 2419 + return dev_err_probe(&serdev->dev, 2420 + PTR_ERR(qcadev->bt_en), 2421 + "failed to acquire BT_EN gpio\n"); 2424 2422 2425 - if (!qcadev->bt_en) 2423 + if (!qcadev->bt_en && 2424 + (data->soc_type == QCA_WCN6750 || 2425 + data->soc_type == QCA_WCN6855)) 2426 2426 power_ctrl_enabled = false; 2427 2427 2428 2428 qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
+2 -1
net/bluetooth/l2cap_core.c
··· 4870 4870 4871 4871 if (!smp_sufficient_security(conn->hcon, pchan->sec_level, 4872 4872 SMP_ALLOW_STK)) { 4873 - result = L2CAP_CR_LE_AUTHENTICATION; 4873 + result = pchan->sec_level == BT_SECURITY_MEDIUM ? 4874 + L2CAP_CR_LE_ENCRYPTION : L2CAP_CR_LE_AUTHENTICATION; 4874 4875 chan = NULL; 4875 4876 goto response_unlock; 4876 4877 }
+2 -1
net/bluetooth/mgmt.c
··· 2566 2566 struct mgmt_pending_cmd *cmd; 2567 2567 int err; 2568 2568 2569 - if (len < sizeof(*cp)) 2569 + if (len != (offsetof(struct mgmt_cp_hci_cmd_sync, params) + 2570 + le16_to_cpu(cp->params_len))) 2570 2571 return mgmt_cmd_status(sk, hdev->id, MGMT_OP_HCI_CMD_SYNC, 2571 2572 MGMT_STATUS_INVALID_PARAMS); 2572 2573