| From c59f13bbead475096bdfebc7ef59c12e180858de Mon Sep 17 00:00:00 2001 |
| From: Jes Sorensen <Jes.Sorensen@redhat.com> |
| Date: Tue, 29 Nov 2016 18:59:02 -0500 |
| Subject: rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting |
| |
| From: Jes Sorensen <Jes.Sorensen@redhat.com> |
| |
| commit c59f13bbead475096bdfebc7ef59c12e180858de upstream. |
| |
| The H2C MEDIA_STATUS_RPT command for some reason causes 8192eu and |
| 8723bu devices not being able to reconnect. |
| |
| Reported-by: Barry Day <briselec@gmail.com> |
| Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c |
| +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c |
| @@ -4401,6 +4401,13 @@ void rtl8xxxu_gen1_report_connect(struct |
| void rtl8xxxu_gen2_report_connect(struct rtl8xxxu_priv *priv, |
| u8 macid, bool connect) |
| { |
| +#ifdef RTL8XXXU_GEN2_REPORT_CONNECT |
| + /* |
| + * Barry Day reports this causes issues with 8192eu and 8723bu |
| + * devices reconnecting. The reason for this is unclear, but |
| + * until it is better understood, leave the code in place but |
| + * disabled, so it is not lost. |
| + */ |
| struct h2c_cmd h2c; |
| |
| memset(&h2c, 0, sizeof(struct h2c_cmd)); |
| @@ -4412,6 +4419,7 @@ void rtl8xxxu_gen2_report_connect(struct |
| h2c.media_status_rpt.parm &= ~BIT(0); |
| |
| rtl8xxxu_gen2_h2c_cmd(priv, &h2c, sizeof(h2c.media_status_rpt)); |
| +#endif |
| } |
| |
| void rtl8xxxu_gen1_init_aggregation(struct rtl8xxxu_priv *priv) |