First patch is to avoid writing "partition size" on read-only firmware buffer, so it has to fix the crash. The later two patches are used to make the semantics clear, but they don't change the logic at all. I hope at least first patch can be taken into 5.16-rc, so people can avoid this crash. v3: Modify patch 3/3 to convert more inline functions I missed. v2: Add Buglink and Tested-by tags. Ping-Ke Shih (3): rtw89: update partition size of firmware header on skb->data rtw89: add const in the cast of le32_get_bits() rtw89: use inline function instead macro to set H2C and CAM drivers/net/wireless/realtek/rtw89/cam.h | 468 +++-- drivers/net/wireless/realtek/rtw89/fw.c | 2 +- drivers/net/wireless/realtek/rtw89/fw.h | 2175 ++++++++++++--------- drivers/net/wireless/realtek/rtw89/txrx.h | 46 +- 4 files changed, 1656 insertions(+), 1035 deletions(-) -- 2.25.1