rtw88: enclose c2h cmd handle with mutex
C2H commands that cannot be handled in IRQ context should be protected by rtwdev->mutex. Because they might have a sequece of hardware operations that does not want to be interfered. Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
committed by
Kalle Valo
parent
0d762f031d
commit
713a30de45
@@ -36,6 +36,8 @@ void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb)
|
||||
c2h = (struct rtw_c2h_cmd *)(skb->data + pkt_offset);
|
||||
len = skb->len - pkt_offset - 2;
|
||||
|
||||
mutex_lock(&rtwdev->mutex);
|
||||
|
||||
switch (c2h->id) {
|
||||
case C2H_HALMAC:
|
||||
rtw_fw_c2h_cmd_handle_ext(rtwdev, skb);
|
||||
@@ -43,6 +45,8 @@ void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mutex_unlock(&rtwdev->mutex);
|
||||
}
|
||||
|
||||
void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset,
|
||||
|
Reference in New Issue
Block a user