Bluetooth: hci_qca: fix debugfs registration

commit 47c5d829a3 upstream.

Since commit 3e4be65eb8 ("Bluetooth: hci_qca: Add poweroff support
during hci down for wcn3990"), the setup callback which registers the
debugfs interface can be called multiple times.

This specifically leads to the following error when powering on the
controller:

	debugfs: Directory 'ibs' with parent 'hci0' already present!

Add a driver flag to avoid trying to register the debugfs interface more
than once.

Fixes: 3e4be65eb8 ("Bluetooth: hci_qca: Add poweroff support during hci down for wcn3990")
Cc: stable@vger.kernel.org	# 4.20
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Johan Hovold 2023-05-31 10:57:59 +02:00 committed by Greg Kroah-Hartman
parent e5ae01fd46
commit d088bea08a

View File

@ -78,7 +78,8 @@ enum qca_flags {
QCA_HW_ERROR_EVENT, QCA_HW_ERROR_EVENT,
QCA_SSR_TRIGGERED, QCA_SSR_TRIGGERED,
QCA_BT_OFF, QCA_BT_OFF,
QCA_ROM_FW QCA_ROM_FW,
QCA_DEBUGFS_CREATED,
}; };
enum qca_capabilities { enum qca_capabilities {
@ -635,6 +636,9 @@ static void qca_debugfs_init(struct hci_dev *hdev)
if (!hdev->debugfs) if (!hdev->debugfs)
return; return;
if (test_and_set_bit(QCA_DEBUGFS_CREATED, &qca->flags))
return;
ibs_dir = debugfs_create_dir("ibs", hdev->debugfs); ibs_dir = debugfs_create_dir("ibs", hdev->debugfs);
/* read only */ /* read only */