In message <201710122156.v9cluwh4017...@repo.freebsd.org>, Adrian Chadd writes: > Author: adrian > Date: Thu Oct 12 21:56:58 2017 > New Revision: 324570 > URL: https://svnweb.freebsd.org/changeset/base/324570 > > Log: > [net80211] begin handling multiple hardware decap'ed A-MSDU in the RX path. > > The duplicate detection code currently expects A-MSDU frames to be encaped > - > they're decap'ed /after/ duplicate detection. > > However for ath10k (and iwm hardware later on) the firmware supports > doing A-MSDU decap in hardware - which shows up as multiple frames with > the same sequence number and IV. > > This is the first part of decap handling - if we see a stretch of A-MSDU > frames from the driver with the MORE bit set, then don't treat them > as duplicates. > > This isn't 100% complete as crypto sequence number handling and "A-MSDU in > A-MPDU" needs handling, but it's a start. > > This should be a glorified no-op for everyone. Please tell me if it isn't. >
Hi Adrian, This is causing iwn in my laptop a bit of gas. wlan0: Ethernet address: 20:6a:8a:72:03:17 <118>Created wlan(4) interfaces: wlan0. <118>Created clone interfaces: lagg0. <5>bge0: link state changed to DOWN iwn0: iwn_read_firmware: ucode rev=0x12a80601 <118>Starting wpa_supplicant. <5>lagg0: link state changed to DOWN iwn0: iwn_read_firmware: ucode rev=0x12a80601 <118>Starting dhclient. <118>lagg0: no link ... Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x4 fault code = supervisor read data, page not present instruction pointer = 0x20:0xffffffff8155cd59 stack pointer = 0x28:0xfffffe01491e4790 frame pointer = 0x28:0xfffffe01491e4830 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, long 1, def32 0, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 12 (irq265: iwn0) trap number = 12 panic: page fault cpuid = 0 time = 1507858438 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01491e4370 vpanic() at vpanic+0x19c/frame 0xfffffe01491e43f0 panic() at panic+0x43/frame 0xfffffe01491e4450 trap_fatal() at trap_fatal+0x34d/frame 0xfffffe01491e44a0 trap_pfault() at trap_pfault+0x49/frame 0xfffffe01491e4500 trap() at trap+0x2a9/frame 0xfffffe01491e46c0 calltrap() at calltrap+0x8/frame 0xfffffe01491e46c0 --- trap 0xc, rip = 0xffffffff8155cd59, rsp = 0xfffffe01491e4790, rbp = 0xfffffe01491e4830 --- sta_input() at sta_input+0xb89/frame 0xfffffe01491e4830 iwn_notif_intr() at iwn_notif_intr+0x15f7/frame 0xfffffe01491e4970 iwn_intr() at iwn_intr+0x5a0/frame 0xfffffe01491e49e0 intr_event_execute_handlers() at intr_event_execute_handlers+0xec/frame 0xfffffe01491e4a20 ithread_loop() at ithread_loop+0xd6/frame 0xfffffe01491e4a70 fork_exit() at fork_exit+0x85/frame 0xfffffe01491e4ab0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe01491e4ab0 --- trap 0, rip = 0, rsp = 0, rbp = 0 --- Uptime: 29s Dumping 704 out of 7978 MB:..3%..12%..21%..32%..41%..53%..62%..71%..82%..91% Loaded symbols for /boot/kernel/nullfs.ko #0 doadump (textdump=1) at pcpu.h:232 232 pcpu.h: No such file or directory. in pcpu.h (kgdb) bt #0 doadump (textdump=1) at pcpu.h:232 #1 0xffffffff80583eb6 in kern_reboot (howto=260) at /opt/src/svn-current/sys/kern/kern_shutdown.c:386 #2 0xffffffff805843a6 in vpanic (fmt=<value optimized out>, ap=<value optimized out>) at /opt/src/svn-current/sys/kern/kern_shutdown.c:779 #3 0xffffffff805841c3 in panic (fmt=<value optimized out>) at /opt/src/svn-current/sys/kern/kern_shutdown.c:710 #4 0xffffffff80886a8d in trap_fatal (frame=0xfffffe01491e46d0, eva=4) at /opt/src/svn-current/sys/amd64/amd64/trap.c:799 #5 0xffffffff80886ae9 in trap_pfault (frame=0xfffffe01491e46d0, usermode=0) at pcpu.h:232 #6 0xffffffff80886339 in trap (frame=0xfffffe01491e46d0) at /opt/src/svn-current/sys/amd64/amd64/trap.c:420 #7 0xffffffff8086acf1 in calltrap () at /opt/src/svn-current/sys/amd64/amd6 4/exception.S:237 #8 0xffffffff8155cd59 in sta_input (ni=0xfffffe0012651000, m=0xfffff80004040e00, rxs=0x0, rssi=63, nf=-95) at ieee80211_input.h:280 #9 0xffffffff81513987 in iwn_notif_intr () from /boot/kernel/if_iwn.ko #10 0xffffffff8150a270 in iwn_intr () from /boot/kernel/if_iwn.ko #11 0xffffffff80548dcc in intr_event_execute_handlers (p=<value optimized out>, ie=0xfffff80002b06800) at /opt/src/svn-current/sys/kern/kern_intr.c:13 36 #12 0xffffffff80549496 in ithread_loop (arg=0xfffff80002b50c20) at /opt/src/svn-current/sys/kern/kern_intr.c:1349 #13 0xffffffff80546135 in fork_exit (callout=0xffffffff805493c0 <ithread_loop>, arg=0xfffff80002b50c20, frame=0xfffffe01491e4ac0) at /opt/src/svn-current/sys/kern/kern_fork.c:1044 #14 0xffffffff8086b2de in fork_trampoline () at /opt/src/svn-current/sys/amd 64/amd64/exception.S:651 #15 0x0000000000000000 in ?? () Current language: auto; currently minimal -- Cheers, Cy Schubert <cy.schub...@cschubert.com> FreeBSD UNIX: <c...@freebsd.org> Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"