Hello,

On 24/02/14(Mon) 13:01, n.reu...@hxgn.net wrote:
> Hi bugs@,
> 
> whenever i connect my turned-off Sansa Clip Zip to my openbsd desktop
> machine,
> the kernel hangs and throws me into dbb.  It's 100% reproducible.  The
> output
> was generated from the latest amd64-current-snapshot (23.02., dmesg
> below),
> connecting the player immediately after boot.

This looks like one of the DMA segment has been written past its size or
after being freed.
I see that you have various USB devices on your system, does it happen if
you only have your music player connected?  I assume it attaches at ehci,
could you confirm that?  If that's the case can you try to disable ehci
at boot (by doing "boot -c" then "disable ehci" and "quit") and see if
the problem is still there?

Finally could you try to following diff and send me its output?

> 
> Something else i noticed while looking at the ps output: there is a
> 'usbtask'
> and a 'usbatsk' command running, is that correct or a typo somewhere?

It's correct, the first one is the kernel thread executing most of the
USB operations (USB task) and the second one only do aborts (USB abort
task).


Thanks for you report,
M.

Index: usb_mem.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/usb/usb_mem.c,v
retrieving revision 1.25
diff -u -p -r1.25 usb_mem.c
--- usb_mem.c   15 Apr 2013 09:23:02 -0000      1.25
+++ usb_mem.c   24 Feb 2014 15:06:12 -0000
@@ -52,10 +52,13 @@
 #include <dev/usb/usbdivar.h>  /* just for struct usb_dma */
 #include <dev/usb/usb_mem.h>
 
+#undef USB_DEBUG
+#define USB_DEBUG
+
 #ifdef USB_DEBUG
 #define DPRINTF(x)     do { if (usbdebug) printf x; } while (0)
 #define DPRINTFN(n,x)  do { if (usbdebug>(n)) printf x; } while (0)
-extern int usbdebug;
+int usbdebug = 7;
 #else
 #define DPRINTF(x)
 #define DPRINTFN(n,x)

Reply via email to