]> www.infradead.org Git - users/jedix/linux-maple.git/commit
wifi: rtw89: pci: fix RX tag race condition resulting in wrong RX length
authorPing-Ke Shih <pkshih@realtek.com>
Tue, 11 Jun 2024 02:19:01 +0000 (10:19 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Mon, 17 Jun 2024 02:38:13 +0000 (10:38 +0800)
commit94298477f81a1701fc4e1b5a0ce9672acab5dcb2
tree419dff1114fdf6fd62d5f16c133e60ee38dd1cea
parent1fd4b3fe52efd5ad1647966f619c10988e7a4457
wifi: rtw89: pci: fix RX tag race condition resulting in wrong RX length

Read 32 bits RX info to a local variable to fix race condition between
reading RX length and RX tag.

Another solution is to get RX tag at first statement, but adopted solution
can save some memory read, and also save 15 bytes binary code.

RX tag, a sequence number, is used to ensure that RX data has been DMA to
memory completely, so driver must check sequence number is expected before
reading other data.

This potential problem happens only after enabling 36-bit DMA.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240611021901.26394-2-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/pci.c