Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F107948750
D48517.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D48517.diff
View Options
diff --git a/sys/dev/rtwn/rtl8192e/r92e_chan.c b/sys/dev/rtwn/rtl8192e/r92e_chan.c
--- a/sys/dev/rtwn/rtl8192e/r92e_chan.c
+++ b/sys/dev/rtwn/rtl8192e/r92e_chan.c
@@ -252,4 +252,28 @@
/* Set Tx power for this new channel. */
r92e_set_txpower(sc, c);
+
+ /*
+ * Work around some timing issues with RTL8192EU on faster
+ * CPUs / USB-3 ports by sleeping for 10ms.
+ *
+ * Without this delay the initial frame send during authentication
+ * doesn't occur.
+ *
+ * My (adrian) guess is that there's a race condition between
+ * everything being programmed into the hardware and the first
+ * send. Notably, TXPAUSE isn't 0x0 after rf init,
+ * which the rtl8xxxu driver has a commit to address (c6015bf3ff1ff)
+ * - wifi: rtl8xxxu: fixing transmission failure for rtl8192eu
+ *
+ * Although it's hard to do due to locking constraints, reading
+ * TXPAUSE during scan / association shows it's non-zero, which
+ * needs to be looked at in more depth.
+ *
+ * Linux doesn't have a delay here, however it does try multiple
+ * times to send an authentication frame.
+ *
+ * See PR/247528 for more info.
+ */
+ rtwn_delay(sc, 10000);
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Jan 20, 8:38 PM (10 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15983712
Default Alt Text
D48517.diff (1 KB)
Attached To
Mode
D48517: rtwn: add workaround sleep in r92e_set_chan()
Attached
Detach File
Event Timeline
Log In to Comment