rtlwifi_new: rtl8821ae: Fix connection problem correctly
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 caueses machine checks in ARM
architecture, and we were forced to evaluate the actual cause of the
problem on x86 platforms. Following a suggestion from Pkshih
<email address hidden>, it was found that by increasing the ASPM L1
latency from 0 to 7 fixed the stability. 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.
rtlwifi_new: rtl8821ae: Fix problem with unaligned read
Using a patch supplied by Realtek, the L1 latency for 0x70f is increased.
With this change, the byte read on x86_64 now works, and there will be
no unaligned access on AARCH64.
Signed-off-by: Larry Finger <email address hidden>