Commit 03b0093f authored by Zhengping Jiang's avatar Zhengping Jiang Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: hci_qca: get wakeup status from serdev device handle



Bluetooth controller attached via the UART is handled by the serdev driver.
Get the wakeup status from the device handle through serdev, instead of the
parent path.

Fixes: c1a74160 ("Bluetooth: hci_qca: Add device_may_wakeup support")
Signed-off-by: default avatarZhengping Jiang <jiangzp@google.com>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent df570334
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1588,10 +1588,11 @@ static bool qca_wakeup(struct hci_dev *hdev)
	struct hci_uart *hu = hci_get_drvdata(hdev);
	bool wakeup;

	/* UART driver handles the interrupt from BT SoC.So we need to use
	 * device handle of UART driver to get the status of device may wakeup.
	/* BT SoC attached through the serial bus is handled by the serdev driver.
	 * So we need to use the device handle of the serdev driver to get the
	 * status of device may wakeup.
	 */
	wakeup = device_may_wakeup(hu->serdev->ctrl->dev.parent);
	wakeup = device_may_wakeup(&hu->serdev->ctrl->dev);
	bt_dev_dbg(hu->hdev, "wakeup status : %d", wakeup);

	return wakeup;