Date: Thu, 23 Feb 2006 08:36:42 -0600 (CST) From: Mark Tinguely <tinguely@casselton.net> To: davel@compbook.co.uk, freebsd-questions@freebsd.org Subject: Re: Page Fault - Wireless problem? Message-ID: <200602231436.k1NEaguY044572@casselton.net> In-Reply-To: <43FD067B.4040604@compbook.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
> Unread portion of the kernel message buffer:
> ural0: could not transmit buffer: SHORT_XFER
>
>
> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x4
> fault code = supervisor read, page not present
> instruction pointer = 0x20:0xc0667091
> stack pointer = 0x28:0xd33e4c00
> frame pointer = 0x28:0xd33e4c0c
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 32 (irq21: uhci0 uhci1+)
> trap number = 12
> panic: page fault
I am not a USB/Ralink expert, but it the node can be removed
mid-transmission elsewhere (ural_free_tx_list) on input errors.
I don't know about threading issues that would require extra locking
as well:
in sys/dev/usb/
--- if_ural.c.orig Sun Jan 29 08:16:36 2006
+++ if_ural.c Thu Feb 23 08:30:36 2006
@@ -881,8 +881,10 @@
m_freem(data->m);
data->m = NULL;
- ieee80211_free_node(data->ni);
- data->ni = NULL;
+ if (data->ni != NULL) {
+ ieee80211_free_node(data->ni);
+ data->ni = NULL;
+ }
sc->tx_queued--;
ifp->if_opackets++;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602231436.k1NEaguY044572>
