]> git.karo-electronics.de Git - linux-beck.git/commitdiff
rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting
authorJes Sorensen <Jes.Sorensen@redhat.com>
Tue, 29 Nov 2016 23:59:02 +0000 (18:59 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Jan 2017 07:32:16 +0000 (08:32 +0100)
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

index a5e6ec2152bff8808b38bd8f96dfe0ff37a19918..82d949ede2940f023e111f07ca0b8392cff0588b 100644 (file)
@@ -4372,6 +4372,13 @@ void rtl8xxxu_gen1_report_connect(struct rtl8xxxu_priv *priv,
 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));
@@ -4383,6 +4390,7 @@ void rtl8xxxu_gen2_report_connect(struct rtl8xxxu_priv *priv,
                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)