On Sun, Feb 22, 2015 at 11:11:50PM -0330, Michael wrote:
> > So it's running into a NULL pointer but it's still unclear where and why.
> > Perhaps it's an unchecked allocation failure, perhaps some other problem.
> >
> > Are you comfortable with adding some debug printf to see which function in
> > bwi is the last called one before the crash? Would you need help with that?
> 
> Yes, I can add in some debugging if you could tell me how/where it is needed.
> I see in the later emails no-one else seems to have this issue so if
> it is just specific to my systems then I can do some further tests as
> needed.

Given what miod said the interrupt handler (bwi_intr) might be a good
plaec to start.

Though perhaps that is not even reached? Do you get any call to bwi_intr?
I don't know where to start debugging ioapic issues.

Index: bwi.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/bwi.c,v
retrieving revision 1.116
diff -u -p -r1.116 bwi.c
--- bwi.c       10 Feb 2015 23:25:46 -0000      1.116
+++ bwi.c       23 Feb 2015 07:11:19 -0000
@@ -73,8 +73,9 @@
 
 #include <uvm/uvm_extern.h>
 
+#define BWI_DEBUG
 #ifdef BWI_DEBUG
-int bwi_debug = 1;
+int bwi_debug = 2;
 #define DPRINTF(l, x...)       do { if ((l) <= bwi_debug) printf(x); } while 
(0)
 #else
 #define DPRINTF(l, x...)
@@ -578,6 +579,7 @@ bwi_intr(void *xsc)
        uint32_t txrx_intr_status[BWI_TXRX_NRING];
        int i, txrx_error, tx = 0, rx_data = -1;
 
+       printf("%s\n", __func__);
        if ((ifp->if_flags & IFF_RUNNING) == 0)
                return (0);
 

Reply via email to