Subject: kern/11422: ulpt crash with HP DeskJet 930C
To: None <>
From: None <>
List: netbsd-bugs
Date: 11/04/2000 17:48:14
>Number:         11422
>Category:       kern
>Synopsis:       ulpt crash with HP DeskJet 930C
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Nov 04 17:48:00 PST 2000
>Originator:     Chris Jones
>Release:        1.5_BETA
System: NetBSD 1.5_BETA NetBSD 1.5_BETA (GROG) #0: Mon Oct 30 23:03:31 MST 2000 i386

ohci0 at pci0 dev 2 function 0: Acer Labs M5237 USB Host Controller (rev. 0x03)
ohci0: interrupting at irq 9
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Acer Labs OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at uhub0 port 2
uhub1: Texas Instruments UT-USB41 hub, class 9/0, rev 1.10/1.10, addr 3
uhub1: 4 ports with 4 removable, self powered
ulpt0 at uhub1 port 1 configuration 1 interface 0
ulpt0: Hewlett-Packard DeskJet 930C, rev 1.00/1.00, addr 4, iclass 7/1

I just got a new printer, a USB-connected DeskJet 930C.  When using gs
with it, it regularly (about 50% of the time) hangs after printing one
print job.  At the end of the job, I see a gs with a WCHAN of
"usbsyn".  If I then power-cycle the printer, causing a
disconnect/reconnect, I get a crash.

panic: trap
#0  0x100 in ?? ()
(gdb) bt
#0  0x100 in ?? ()
#1  0xc022c11b in cpu_reboot ()
#2  0xc0144315 in panic ()
#3  0xc0230391 in trap ()
#4  0xc0100ced in calltrap ()
#5  0xc026e409 in usbd_do_request ()
#6  0xc027729c in ulpt_status ()
#7  0xc02773c5 in ulptopen ()
#8  0xc0168f8d in spec_open ()
#9  0xc016364d in vn_open ()
#10 0xc015f7fe in sys_open ()
#11 0xc0230928 in syscall ()
#12 0xc0100d99 in syscall1 ()
can not access 0xbfbfd884, invalid translation (invalid PDE)
can not access 0xbfbfd884, invalid translation (invalid PDE)
Cannot access memory at address 0xbfbfd884.

See above.

I noticed the code in usbdi.c, before usbsyn, has /* XXX temporary hack */.
Is this maybe fixed in -current?