On Sun, 13 Sep 2020 at 22:34, Warner Losh <imp_at_bsdimp.com> wrote: > > > On Sun, Sep 13, 2020, 11:29 PM Adrian Chadd <adrian.chadd_at_gmail.com> > wrote: > >> Yeah, this was also reported in #freebsd-wireless today. >> >> Is there a lock being held in the rtwn path that shouldn't be? >> > > I'll check in the morning... this was like the 20th thing to go wrong this > weekend, so I copied the panic down, send the email and grabbed a beer and > turned it off... > Ok. I checked the driver and the usb stack; nothing in the change lists obviously stands out to me at 11pm on a Sunday. Can you see if any locks are held? or an epoch? Something smells fishy. (defining EPOCH_TRACE will dump the list of epochs, if I'm reading the subr_sleepqueue.c code correctly.) Ok, so, since I dug a bit more on a hunch, I bet the NET epoch is being held - it's grabbed in rtwn_bulk_rx_callback, and rtwn_rx_common is reading some registers as part of processing the receive queue. I bet that act of reading registers over blocking USB is causing things to explode. If it is net epoch then we're going to have to think of a better design pattern here to migrate all of these here wifi drivers to, because I guarantee you they're all behaving poorly in this newer world order. Thanks, -adrian > > panic: sleepq_add: td <hex> to sleep on wchan <hex> with sleeping >>> prohibited >>> cpuid = 5 >>> time = 1600057358 >>> KDB: stack backtrace: >>> ... >>> panic() >>> sleepq_add() >>> _cv_wait() >>> usbd_do_request_flags >>> rtwn_do_request >>> rtwn_usb_read_4 >>> rtwn_rx_common >>> rtwn_bulk_rx_callback >>> usbd_callback_wrapper >>> usb_command_wrapper >>> usb_callback_proc >>> usb_process >>> ... >>> >>> I've done a fresh installworld and installkernel, but am running packages >>> from late may since I've not updated them. I've updated the iichid and >>> drm-kmod ports and rebuilt them and reinstalled them as well (so I know >>> they aren't out of date). >>> >>> Has anybody else seen this? >>> >>> Warner >>> _______________________________________________ >>> freebsd-current_at_freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to " >>> freebsd-current-unsubscribe_at_freebsd.org" >>> >>Received on Mon Sep 14 2020 - 04:30:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:25 UTC