Bluetooth: hci_qca: get wakeup status from serdev device handle
[ Upstream commit 03b0093f7b310493bc944a20f725228cfe0d3fea ]
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: c1a74160ea ("Bluetooth: hci_qca: Add device_may_wakeup support")
Signed-off-by: Zhengping Jiang <jiangzp@google.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
31a288a4df
commit
0e872b4da7
@@ -1582,10 +1582,11 @@ static bool qca_prevent_wake(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;
|
||||
|
||||
Reference in New Issue
Block a user