usb/88886: cat /dev/ulpt0 -- causes fatal trap 12 (backtrace included)

Ian Dowse iedowse at iedowse.com
Sat Nov 12 09:30:22 PST 2005


The following reply was made to PR usb/88886; it has been noted by GNATS.

From: Ian Dowse <iedowse at iedowse.com>
To: Alex Pivovarov <apivovarov at gmail.com>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: usb/88886: cat /dev/ulpt0 -- causes fatal trap 12 (backtrace included) 
Date: Sat, 12 Nov 2005 17:25:52 +0000

 In message <200511121342.jACDg5Jp044866 at www.freebsd.org>, Alex Pivovarov writes
 :
 >#cat /dev/ulpt0
 >
 >causes fatal trap 12 and system begins dumping.
 
 Thanks for the bug report. Can you try the following patch? It looks
 like there has been a typo in the ulpt driver for quite a while
 that can cause it to set up two concurrent USB transfers with the
 same transfer structure.
 
 I've been able to reproduce this exact crash and the patch appears
 to fix it, so I'll commit the patch to -CURRENT now.
 
 Ian
 
 Index: ulpt.c
 ===================================================================
 RCS file: /dump/FreeBSD-CVS/src/sys/dev/usb/ulpt.c,v
 retrieving revision 1.66
 diff -u -r1.66 ulpt.c
 --- ulpt.c	6 Jan 2005 01:43:28 -0000	1.66
 +++ ulpt.c	12 Nov 2005 16:57:08 -0000
 @@ -600,7 +600,7 @@
  		}
  
  		/* If it's not opened for read the set up a reader. */
 -		if (!(flags & FREAD)) {
 +		if (!(flag & FREAD)) {
  			DPRINTF(("ulpt_open: start read callout\n"));
  			usb_callout_init(sc->sc_read_callout);
  			usb_callout(sc->sc_read_callout, hz/5, ulpt_tick, sc);


More information about the freebsd-usb mailing list