Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > There has been a coding error in rtl8821ae since it was first introduced, > namely that an 8-bit register was read using a 16-bit read in > _rtl8821ae_dbi_read(). This error was fixed with commit 40b368af4b75 > ("rtlwifi: Fix alignment issues"); however, this change led to > instability in the connection. To restore stability, this change > was reverted in commit b8b8b16352cd ("rtlwifi: rtl8821ae: Fix connection > lost problem"). > > Unfortunately, the unaligned access causes machine checks in ARM > architecture, and we were finally forced to find the actual cause of the > problem on x86 platforms. Following a suggestion from Pkshih > <pkshih@xxxxxxxxxxx>, it was found that increasing the ASPM L1 > latency from 0 to 7 fixed the instability. This parameter was varied to > see if a smaller value would work; however, it appears that 7 is the > safest value. A new symbol is defined for this quantity, thus it can be > easily changed if necessary. > > Fixes: b8b8b16352cd ("rtlwifi: rtl8821ae: Fix connection lost problem") > Cc: Stable <stable@xxxxxxxxxxxxxxx> # 4.14+ > Fix-suggested-by: Pkshih <pkshih@xxxxxxxxxxx> > Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> > Tested-by: James Cameron <quozl@xxxxxxxxxx> # x86_64 OLPC NL3 Patch applied to wireless-drivers-next.git, thanks. c713fb071edc rtlwifi: rtl8821ae: Fix connection lost problem correctly -- https://patchwork.kernel.org/patch/10201247/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches