Messages in this thread | | | From | Ping-Ke Shih <> | Subject | RE: [PATCH] wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu | Date | Tue, 20 Dec 2022 05:44:42 +0000 |
| |
> -----Original Message----- > From: Jun ASAKA <JunASAKA@zzy040330.moe> > Sent: Saturday, December 17, 2022 11:07 AM > To: Jes.Sorensen@gmail.com > Cc: kvalo@kernel.org; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; > linux-wireless@vger.kernel.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Jun ASAKA > <JunASAKA@zzy040330.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@zzy040330.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.
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
> } > > static s8 rtl8192e_cck_rssi(struct rtl8xxxu_priv *priv, u8 cck_agc_rpt) > -- > 2.31.1
| |