Ivo van Doorn wrote: > On Thursday 05 October 2006 13:37, Jiri Benc wrote: >> On Wed, 4 Oct 2006 19:22:38 +0200, Ivo van Doorn wrote: >>> Well another point of concern for me is the TSF handling, those handlers >>> are called >>> from interrupt context as well, and also deliver problems for the USB >>> drivers in case >>> of adhoc mode. >> Where is a problem with tsf handlers? get_tsf is not called at all >> (unless CONFIG_D80211_IBSS_DEBUG is set; well, that raises a question >> why the function exists in the first place), reset_tsf returns void. > > Basically it comes down to this: > > Sep 13 12:27:34 wz4a kernel: wlan0: Creating new IBSS network, BSSID > 7a:b9:60:8a:84:39 > Sep 13 12:27:34 wz4a kernel: BUG: scheduling while atomic: > swapper/0x00000100/0 > Sep 13 12:27:34 wz4a kernel: <b02701e7> schedule+0x43/0xa84 <b01ef8b8> > extract_buf+0x97/0xc8 > Sep 13 12:27:34 wz4a kernel: <b0270ca8> wait_for_completion+0x6a/0x9f > <b0116f2d> default_wake_function+0x0/0xc > Sep 13 12:27:34 wz4a kernel: <c08ac59f> usb_start_wait_urb+0x98/0xdc > [usbcore] <c08ac418> timeout_kill+0x0/0x5 [usbcore] > Sep 13 12:27:34 wz4a kernel: <c08ac7d5> usb_control_msg+0xc3/0xde [usbcore] > <c0b6c0f1> rt2x00_vendor_request+0x7c/0xa6 [rt73usb] > Sep 13 12:27:34 wz4a kernel: <c0b6fa68> rt73usb_reset_tsf+0x30/0x59 > [rt73usb] <c0bdb3e8> ieee80211_sta_join_ibss+0x3a/0x572 [80211] > Sep 13 12:27:34 wz4a kernel: <b011cea9> printk+0x14/0x18 <c0bdaa4a> > ieee80211_rx_bss_add+0x88/0x90 [80211] > Sep 13 12:27:34 wz4a kernel: <c0bdbc2e> ieee80211_sta_find_ibss+0x30e/0x366 > [80211] <c0bdda17> ieee80211_sta_timer+0x0/0x18f [80211] > Sep 13 12:27:34 wz4a kernel: <c0bdda91> ieee80211_sta_timer+0x7a/0x18f > [80211] <c0bdda17> ieee80211_sta_timer+0x0/0x18f [80211] > Sep 13 12:27:34 wz4a kernel: <b01241b1> run_timer_softirq+0x10b/0x153 > <b0120a52> __do_softirq+0x58/0xc2 > Sep 13 12:27:34 wz4a kernel: <b0120aea> do_softirq+0x2e/0x32 <b0104fe6> > do_IRQ+0x1e/0x24 > Sep 13 12:27:34 wz4a kernel: <b0103592> common_interrupt+0x1a/0x20 > <c0827484> acpi_processor_idle+0x18a/0x39e [processor] > Sep 13 12:27:34 wz4a kernel: <b0101e77> cpu_idle+0x8f/0xa8 <b03026d2> > start_kernel+0x355/0x35c > > With the compilation of d80211 the CONFIG_D80211_DEBUG is set by default, > so no CONFIG_D80211_IBSS_DEBUG. > > This does not happen in rt2500usb driver, since no TSF handling is possible > due to a lack of TSF registers in the device.
This path would be fixed by my conversion patch of sta.timer into sta.work that I sent you yesterday privately. Unfortunately, I don't have a copy at hand ATM. What about the other timers? Can they trigger any sleeping service of rt2x00 drivers? Ok, waiting for a BUG is always possible... ;) Jan
signature.asc
Description: OpenPGP digital signature