Commit fc5f311f authored by Ping-Ke Shih's avatar Ping-Ke Shih Committed by Kalle Valo

rtw89: don't flush hci queues and send h2c if power is off

When disconnecting, it warns somethings after power is off, and we can't
do HCI IO. So, add this patch to avoid below messages:

  rtw89_8852ce 0000:03:00.0: timed out to flush pci txch: 11
  rtw89_8852ce 0000:03:00.0: failed to pre-release fwcmd
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220421120903.73715-9-pkshih@realtek.com
parent d7259cdb
...@@ -856,6 +856,13 @@ int rtw89_h2c_tx(struct rtw89_dev *rtwdev, ...@@ -856,6 +856,13 @@ int rtw89_h2c_tx(struct rtw89_dev *rtwdev,
u32 cnt; u32 cnt;
int ret; int ret;
if (!test_bit(RTW89_FLAG_POWERON, rtwdev->flags)) {
rtw89_debug(rtwdev, RTW89_DBG_FW,
"ignore h2c due to power is off with firmware state=%d\n",
test_bit(RTW89_FLAG_FW_RDY, rtwdev->flags));
return 0;
}
tx_req.skb = skb; tx_req.skb = skb;
tx_req.tx_type = RTW89_CORE_TX_TYPE_FWCMD; tx_req.tx_type = RTW89_CORE_TX_TYPE_FWCMD;
if (fwdl) if (fwdl)
......
...@@ -3199,6 +3199,9 @@ static inline void rtw89_hci_tx_kick_off(struct rtw89_dev *rtwdev, u8 txch) ...@@ -3199,6 +3199,9 @@ static inline void rtw89_hci_tx_kick_off(struct rtw89_dev *rtwdev, u8 txch)
static inline void rtw89_hci_flush_queues(struct rtw89_dev *rtwdev, u32 queues, static inline void rtw89_hci_flush_queues(struct rtw89_dev *rtwdev, u32 queues,
bool drop) bool drop)
{ {
if (!test_bit(RTW89_FLAG_POWERON, rtwdev->flags))
return;
if (rtwdev->hci.ops->flush_queues) if (rtwdev->hci.ops->flush_queues)
return rtwdev->hci.ops->flush_queues(rtwdev, queues, drop); return rtwdev->hci.ops->flush_queues(rtwdev, queues, drop);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment