* rtl8821ae bisected regression between 4.1 and 4.2
@ 2015-10-01 13:17 João Paulo Rechi Vita
2015-10-01 15:42 ` Larry Finger
0 siblings, 1 reply; 3+ messages in thread
From: João Paulo Rechi Vita @ 2015-10-01 13:17 UTC (permalink / raw)
To: linux-wireless
Cc: Vincent Fann, Shao Fu, Larry Finger, Kalle Valo, Stable,
Daniel Drake
Hello linux-wirelless (cc'ing stable since the original patch had
cc:stable as well),
I'm experiencing a CPU soft lockup while downloading when rtl8821ae is
loaded (even when downloading through other adapters) on a vanilla 4.2
kernel. The problem did not happen on vanilla 4.1. Bisecting shows the
first bad commit being "rtlwifi: Remove the clear interrupt routine
from all drivers" (1277fa2ab2f9a624a4b0177119ca13b5fd65edd0).
Reverting that commit makes the problem go away.
The system is perfectly stable until I start downloading, when the UI
becomes unresponsive, sometimes leading to a complete freeze. When the
system does not completely freezes and I'm able to kill the download,
everything seems to go back to normal after killing it, and I am able
to continue to use the computer as long as I do not download anything.
Most of the time either a soft or a hard lockup is detected, but not
always, although the freeze always occurs.
This is the kernel log with lockdep enabled (although sometimes the
problem does not occur with lockdep enabled):
https://gist.github.com/jprvita/3aa2c0c9a66793e1fad1
I have the laptop where this happens as a test machine sitting on my
desk, so I'm available to test any patches or gather more information
if needed. Please advise on how I can help debugging this further.
Regards,
--
João Paulo Rechi Vita
http://about.me/jprvita
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: rtl8821ae bisected regression between 4.1 and 4.2
2015-10-01 13:17 rtl8821ae bisected regression between 4.1 and 4.2 João Paulo Rechi Vita
@ 2015-10-01 15:42 ` Larry Finger
2015-10-01 21:07 ` João Paulo Rechi Vita
0 siblings, 1 reply; 3+ messages in thread
From: Larry Finger @ 2015-10-01 15:42 UTC (permalink / raw)
To: João Paulo Rechi Vita, linux-wireless
Cc: Vincent Fann, Shao Fu, Kalle Valo, Stable, Daniel Drake
[-- Attachment #1: Type: text/plain, Size: 1646 bytes --]
On 10/01/2015 08:17 AM, João Paulo Rechi Vita wrote:
> Hello linux-wirelless (cc'ing stable since the original patch had
> cc:stable as well),
>
> I'm experiencing a CPU soft lockup while downloading when rtl8821ae is
> loaded (even when downloading through other adapters) on a vanilla 4.2
> kernel. The problem did not happen on vanilla 4.1. Bisecting shows the
> first bad commit being "rtlwifi: Remove the clear interrupt routine
> from all drivers" (1277fa2ab2f9a624a4b0177119ca13b5fd65edd0).
> Reverting that commit makes the problem go away.
>
> The system is perfectly stable until I start downloading, when the UI
> becomes unresponsive, sometimes leading to a complete freeze. When the
> system does not completely freezes and I'm able to kill the download,
> everything seems to go back to normal after killing it, and I am able
> to continue to use the computer as long as I do not download anything.
> Most of the time either a soft or a hard lockup is detected, but not
> always, although the freeze always occurs.
>
> This is the kernel log with lockdep enabled (although sometimes the
> problem does not occur with lockdep enabled):
> https://gist.github.com/jprvita/3aa2c0c9a66793e1fad1
>
> I have the laptop where this happens as a test machine sitting on my
> desk, so I'm available to test any patches or gather more information
> if needed. Please advise on how I can help debugging this further.
I cannot duplicate your result, and neither can the Realtek team; however, I
have prepared and attached a patch to temporarily re-add the interrupt clear
routine for rtl8821ae. Please try it and report the results.
Larry
[-- Attachment #2: 0001-rtlwifi-rtl8821ae-Trial-patch-to-reinstall-interrupt.patch --]
[-- Type: text/x-patch, Size: 1523 bytes --]
>From 97ecd2789dc71b158467fc57d0326641a4581f0d Mon Sep 17 00:00:00 2001
From: Larry Finger <Larry.Finger@lwfinger.net>
Date: Thu, 1 Oct 2015 10:37:49 -0500
Subject: [PATCH] rtlwifi: rtl8821ae: Trial patch to reinstall interrupt clear
routine
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
drivers/net/wireless/rtlwifi/rtl8821ae/hw.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/net/wireless/rtlwifi/rtl8821ae/hw.c b/drivers/net/wireless/rtlwifi/rtl8821ae/hw.c
index b7f18e21..6d2caa8 100644
--- a/drivers/net/wireless/rtlwifi/rtl8821ae/hw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8821ae/hw.c
@@ -2253,11 +2253,27 @@ void rtl8821ae_set_qos(struct ieee80211_hw *hw, int aci)
}
}
+static void rtl8821ae_clear_interrupt(struct ieee80211_hw *hw)
+{
+ struct rtl_priv *rtlpriv = rtl_priv(hw);
+ u32 tmp = rtl_read_dword(rtlpriv, REG_HISR);
+
+ rtl_write_dword(rtlpriv, REG_HISR, tmp);
+
+ tmp = rtl_read_dword(rtlpriv, REG_HISRE);
+ rtl_write_dword(rtlpriv, REG_HISRE, tmp);
+
+ tmp = rtl_read_dword(rtlpriv, REG_HSISR);
+ rtl_write_dword(rtlpriv, REG_HSISR, tmp);
+}
+
void rtl8821ae_enable_interrupt(struct ieee80211_hw *hw)
{
struct rtl_priv *rtlpriv = rtl_priv(hw);
struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
+ rtl8821ae_clear_interrupt(hw);/*clear it here first*/
+
rtl_write_dword(rtlpriv, REG_HIMR, rtlpci->irq_mask[0] & 0xFFFFFFFF);
rtl_write_dword(rtlpriv, REG_HIMRE, rtlpci->irq_mask[1] & 0xFFFFFFFF);
rtlpci->irq_enabled = true;
--
2.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: rtl8821ae bisected regression between 4.1 and 4.2
2015-10-01 15:42 ` Larry Finger
@ 2015-10-01 21:07 ` João Paulo Rechi Vita
0 siblings, 0 replies; 3+ messages in thread
From: João Paulo Rechi Vita @ 2015-10-01 21:07 UTC (permalink / raw)
To: Larry Finger
Cc: linux-wireless, Vincent Fann, Shao Fu, Kalle Valo, Stable,
Daniel Drake
Hello Larry,
On 1 October 2015 at 11:42, Larry Finger <Larry.Finger@lwfinger.net> wrote:
> On 10/01/2015 08:17 AM, João Paulo Rechi Vita wrote:
>>
>> Hello linux-wirelless (cc'ing stable since the original patch had
>> cc:stable as well),
>>
>> I'm experiencing a CPU soft lockup while downloading when rtl8821ae is
>> loaded (even when downloading through other adapters) on a vanilla 4.2
>> kernel. The problem did not happen on vanilla 4.1. Bisecting shows the
>> first bad commit being "rtlwifi: Remove the clear interrupt routine
>> from all drivers" (1277fa2ab2f9a624a4b0177119ca13b5fd65edd0).
>> Reverting that commit makes the problem go away.
>>
>> The system is perfectly stable until I start downloading, when the UI
>> becomes unresponsive, sometimes leading to a complete freeze. When the
>> system does not completely freezes and I'm able to kill the download,
>> everything seems to go back to normal after killing it, and I am able
>> to continue to use the computer as long as I do not download anything.
>> Most of the time either a soft or a hard lockup is detected, but not
>> always, although the freeze always occurs.
>>
>> This is the kernel log with lockdep enabled (although sometimes the
>> problem does not occur with lockdep enabled):
>> https://gist.github.com/jprvita/3aa2c0c9a66793e1fad1
>>
>> I have the laptop where this happens as a test machine sitting on my
>> desk, so I'm available to test any patches or gather more information
>> if needed. Please advise on how I can help debugging this further.
>
>
> I cannot duplicate your result, and neither can the Realtek team; however, I
> have prepared and attached a patch to temporarily re-add the interrupt clear
> routine for rtl8821ae. Please try it and report the results.
>
With the attached patch the lockup goes away and the system remains
stable during downloads. Let me know if there is anything else you
would like me to test.
Regards,
--
João Paulo Rechi Vita
http://about.me/jprvita
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-10-01 21:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-01 13:17 rtl8821ae bisected regression between 4.1 and 4.2 João Paulo Rechi Vita
2015-10-01 15:42 ` Larry Finger
2015-10-01 21:07 ` João Paulo Rechi Vita
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).