lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 21 Dec 2022 01:42:29 +0000 From: Ping-Ke Shih <pkshih@...ltek.com> To: "Jes.Sorensen@...il.com" <Jes.Sorensen@...il.com>, "rtl8821cerfe2@...il.com" <rtl8821cerfe2@...il.com>, "JunASAKA@...040330.moe" <JunASAKA@...040330.moe> CC: "davem@...emloft.net" <davem@...emloft.net>, "kvalo@...nel.org" <kvalo@...nel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "kuba@...nel.org" <kuba@...nel.org>, "edumazet@...gle.com" <edumazet@...gle.com>, "pabeni@...hat.com" <pabeni@...hat.com> Subject: Re: [PATCH] wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu On Tue, 2022-12-20 at 15:03 +0200, Bitterblue Smith wrote: > On 20/12/2022 07:44, Ping-Ke Shih wrote: > > > > > -----Original Message----- > > > From: Jun ASAKA <JunASAKA@...040330.moe> > > > Sent: Saturday, December 17, 2022 11:07 AM > > > To: Jes.Sorensen@...il.com > > > Cc: kvalo@...nel.org; davem@...emloft.net; edumazet@...gle.com; kuba@...nel.org; > > > pabeni@...hat.com; > > > linux-wireless@...r.kernel.org; netdev@...r.kernel.org; linux-kernel@...r.kernel.org; Jun > > > ASAKA > > > <JunASAKA@...040330.moe> > > > Subject: [PATCH] wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu > > > > > > Fixing transmission failure which results in > > > "authentication with ... timed out". This can be > > > fixed by disable the REG_TXPAUSE. > > > > > > Signed-off-by: Jun ASAKA <JunASAKA@...040330.moe> > > > --- > > > drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c > > > b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c > > > index a7d76693c02d..9d0ed6760cb6 100644 > > > --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c > > > +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c > > > @@ -1744,6 +1744,11 @@ static void rtl8192e_enable_rf(struct rtl8xxxu_priv *priv) > > > val8 = rtl8xxxu_read8(priv, REG_PAD_CTRL1); > > > val8 &= ~BIT(0); > > > rtl8xxxu_write8(priv, REG_PAD_CTRL1, val8); > > > + > > > + /* > > > + * Fix transmission failure of rtl8192e. > > > + */ > > > + rtl8xxxu_write8(priv, REG_TXPAUSE, 0x00); > > > > I trace when rtl8xxxu set REG_TXPAUSE=0xff that will stop TX. > > The occasions include RF calibration, LPS mode (called by power off), and > > going to stop. So, I think RF calibration does TX pause but not restore > > settings after calibration, and causes TX stuck. As the flow I traced, > > this patch looks reasonable. But, I wonder why other people don't meet > > this problem. > > > Other people have this problem too: > https://bugzilla.kernel.org/show_bug.cgi?id=196769 > https://bugzilla.kernel.org/show_bug.cgi?id=216746 In the threads, you have answered my question with "kernel 4.8.0 works, but 4.9.? does not work." > > The RF calibration does restore REG_TXPAUSE at the end. What happens is > when you plug in the device, something (mac80211? wpa_supplicant?) calls > rtl8xxxu_start(), then rtl8xxxu_stop(), then rtl8xxxu_start() again. > rtl8xxxu_stop() sets REG_TXPAUSE to 0xff and nothing sets it back to 0. > You are correct. That is clear to me. I miss the point that RF calibration does backup/restore registers containing REG_TXPAUSE. Then, I think my reviewed-by can be still applied, right? Ping-Ke
Powered by blists - more mailing lists