https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211689

--- Comment #13 from Robin Randhawa <robin.randh...@arm.com> ---
It appears I spoke too soon.

While networking seems fine in general, I find that with the patch included, an
ACPI suspend to state S3 causes the system to panic silently while suspending
and eventually reboot. The backtrace from the crash dump is as follows:

(kgdb) bt
#0  doadump (textdump=1) at pcpu.h:222
#1  0xffffffff80a30125 in kern_reboot (howto=<value optimized out>) at
/usr/src/sys/kern/kern_shutdown.c:386
#2  0xffffffff80a30700 in vpanic (fmt=<value optimized out>, ap=<value
optimized out>) at /usr/src/sys/kern/kern_shutdown.c:779
#3  0xffffffff80a30536 in kassert_panic (fmt=<value optimized out>) at
/usr/src/sys/kern/kern_shutdown.c:669
#4  0xffffffff80a11b4c in __mtx_lock_flags (c=0xfffffe00011da080, opts=0,
file=<value optimized out>, line=1614)
    at /usr/src/sys/kern/kern_mutex.c:279
#5  0xffffffff80b7ab88 in ieee80211_suspend_all (ic=0xfffffe00011da048) at
/usr/src/sys/net80211/ieee80211_proto.c:1614
#6  0xffffffff822dddff in iwm_suspend (dev=<value optimized out>) at
/usr/src/sys/modules/iwm/../../dev/iwm/if_iwm.c:6193
#7  0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff80007b5d500) at device_if.h:275
#8  0xffffffff806c562d in pci_suspend_child (dev=0xfffff80007b5d600,
child=0xfffff80007b5d500)
    at /usr/src/sys/dev/pci/pci.c:4247
#9  0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#10 0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff80007b5d600) at device_if.h:275
#11 0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#12 0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff80007b5e900) at device_if.h:275
#13 0xffffffff806c562d in pci_suspend_child (dev=0xfffff80007b5f300,
child=0xfffff80007b5e900)
    at /usr/src/sys/dev/pci/pci.c:4247
#14 0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#15 0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff80007b5f300) at device_if.h:275
#16 0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#17 0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff800077f6000) at device_if.h:275
#18 0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#19 0xffffffff803b960f in acpi_suspend (dev=0xfffff800077f7700) at
/usr/src/sys/dev/acpica/acpi.c:729
#20 0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff800077f7700) at device_if.h:275
#21 0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#22 0xffffffff80a64714 in bus_generic_suspend_child (dev=<value optimized out>,
child=0xfffff800077f7c00) at device_if.h:275
#23 0xffffffff80a647f7 in bus_generic_suspend (dev=<value optimized out>) at
bus_if.h:975
#24 0xffffffff803b71bf in acpi_EnterSleepState (sc=<value optimized out>,
state=<value optimized out>) at device_if.h:275
#25 0xffffffff803b7b60 in acpi_AckSleepState (clone=<value optimized out>,
error=<value optimized out>)
    at /usr/src/sys/dev/acpica/acpi.c:2780
#26 0xffffffff8090aaa3 in devfs_ioctl (ap=<value optimized out>) at
/usr/src/sys/fs/devfs/devfs_vnops.c:831
#27 0xffffffff81002d50 in VOP_IOCTL_APV (vop=<value optimized out>, a=<value
optimized out>) at vnode_if.c:1067
#28 0xffffffff80b01634 in vn_ioctl (fp=0xfffff8000d2b1960, com=<value optimized
out>, data=0xfffffe08595f4780,
    active_cred=0xfffff80007701d00, td=<value optimized out>) at vnode_if.h:448
#29 0xffffffff8090b1cf in devfs_ioctl_f (fp=<value optimized out>, com=<value
optimized out>, data=<value optimized out>,
    cred=<value optimized out>, td=0xfffff8000d09d500) at
/usr/src/sys/fs/devfs/devfs_vnops.c:789
#30 0xffffffff80a94870 in kern_ioctl (td=<value optimized out>, fd=<value
optimized out>, com=<value optimized out>,
    data=<value optimized out>) at file.h:321
#31 0xffffffff80a9450f in sys_ioctl (td=<value optimized out>,
uap=0xfffffe08595f4930) at /usr/src/sys/kern/sys_generic.c:746
#32 0xffffffff80ea09b9 in amd64_syscall (td=0xfffff8000d09d500, traced=0) at
subr_syscall.c:135
#33 0xffffffff80e806db in Xfast_syscall () at
/usr/src/sys/amd64/amd64/exception.S:396
#34 0x000000080097cbaa in ?? ()
Previous frame inner to this frame (corrupt stack?)

Perhaps there is some reliance on the sc_lladr_task for some housekeeping
action in the suspend path ?

I've tested this across three suspend runs and the same panic occurred all
three times. With the patch removed, the panic doesn't happen and
suspend-resume cycles succeed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-wireless@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-wireless
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"

Reply via email to