Commit 2a2618c0 authored by Paolo Abeni's avatar Paolo Abeni
Browse files
Luiz Augusto von Dentz says:

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

 - MGMT: report BIS capability flags in supported settings
 - btusb: revert use of devm_kzalloc in btusb

* tag 'for-net-2025-12-19' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth:
  Bluetooth: btusb: revert use of devm_kzalloc in btusb
  Bluetooth: MGMT: report BIS capability flags in supported settings
====================

Link: https://patch.msgid.link/20251219223118.90141-1-luiz.dentz@gmail.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents b94f11af 252714f1
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -4052,7 +4052,7 @@ static int btusb_probe(struct usb_interface *intf,
			return -ENODEV;
	}

	data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL);
	data = kzalloc(sizeof(*data), GFP_KERNEL);
	if (!data)
		return -ENOMEM;

@@ -4075,8 +4075,10 @@ static int btusb_probe(struct usb_interface *intf,
		}
	}

	if (!data->intr_ep || !data->bulk_tx_ep || !data->bulk_rx_ep)
	if (!data->intr_ep || !data->bulk_tx_ep || !data->bulk_rx_ep) {
		kfree(data);
		return -ENODEV;
	}

	if (id->driver_info & BTUSB_AMP) {
		data->cmdreq_type = USB_TYPE_CLASS | 0x01;
@@ -4131,8 +4133,10 @@ static int btusb_probe(struct usb_interface *intf,
	data->recv_acl = hci_recv_frame;

	hdev = hci_alloc_dev_priv(priv_size);
	if (!hdev)
	if (!hdev) {
		kfree(data);
		return -ENOMEM;
	}

	hdev->bus = HCI_USB;
	hci_set_drvdata(hdev, data);
@@ -4406,6 +4410,7 @@ static int btusb_probe(struct usb_interface *intf,
	if (data->reset_gpio)
		gpiod_put(data->reset_gpio);
	hci_free_dev(hdev);
	kfree(data);
	return err;
}

@@ -4454,6 +4459,7 @@ static void btusb_disconnect(struct usb_interface *intf)
	}

	hci_free_dev(hdev);
	kfree(data);
}

#ifdef CONFIG_PM
+6 −0
Original line number Diff line number Diff line
@@ -849,6 +849,12 @@ static u32 get_supported_settings(struct hci_dev *hdev)
	if (cis_peripheral_capable(hdev))
		settings |= MGMT_SETTING_CIS_PERIPHERAL;

	if (bis_capable(hdev))
		settings |= MGMT_SETTING_ISO_BROADCASTER;

	if (sync_recv_capable(hdev))
		settings |= MGMT_SETTING_ISO_SYNC_RECEIVER;

	if (ll_privacy_capable(hdev))
		settings |= MGMT_SETTING_LL_PRIVACY;