Date: Sun, 22 Jul 2001 10:38:44 +0100 (BST) From: Nick Hibma <n_hibma@qubesoft.com> To: Andrew Gordon <arg@arg1.demon.co.uk> Cc: Kenneth W Cochran <kwc@world.std.com>, <freebsd-scsi@FreeBSD.ORG> Subject: Re: USB/umass in addition to "other" SCSI Message-ID: <20010722103530.R591-100000@heather.plazza.uk> In-Reply-To: <20010722000136.Q54613-100000@server.arg.sj.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
> > usbd doesn't handle umass (anymore). > > Do you mean that it's now interrupt driven, or are you just drawing a > distinction between "usbd the program" and "the kernel thread supervised > by usbd"? The latter. I think (I don't know actually :-/) whether usbd is still needed in CURRENT. Someone waved a patch inb front of my eyes to make it use kernel threads, but I don't remember whether that got committed by peter. Thanks for the extensive info below! I will have a look. This sounds like some kind of lack of initialisation or something. > If I disconnect the drive (whether or not I tried to do anything with it > after plugging in), a panic results. If the system was booted with the > drive connected, and it is then disconnected/reconnected, the devlist > again shows the "(probe0)" and it doesn't work, but instead of the panic > some errors get logged: > > Jul 22 00:39:22 rocket /kernel: umass0: BBB reset failed, TIMEOUT > Jul 22 00:39:27 rocket /kernel: umass0: BBB bulk-in clear stall failed, > TIMEOUT > Jul 22 00:39:32 rocket /kernel: umass0: BBB bulk-out clear stall failed, > TIMEOUT > Jul 22 00:39:37 rocket /kernel: umass0: BBB reset failed, TIMEOUT > Jul 22 00:39:42 rocket /kernel: umass0: BBB bulk-in clear stall failed, > TIMEOUT > Jul 22 00:39:47 rocket /kernel: umass0: BBB bulk-out clear stall failed, > TIMEOUT > Jul 22 00:39:52 rocket /kernel: umass0: BBB reset failed, TIMEOUT > Jul 22 00:39:57 rocket /kernel: umass0: BBB bulk-in clear stall failed, > TIMEOUT > Jul 22 00:40:02 rocket /kernel: umass0: BBB bulk-out clear stall failed, > TIMEOUT > Jul 22 00:40:02 rocket syslogd: exiting on signal 15 > > > The dump from the panic shows the following (I've kept the dump if you > want to see any more from it): > > > IdlePTD 3792896 > initial pcb at 305c00 > panicstr: page fault > panic messages: > --- > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x0 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xc021cc0d > stack pointer = 0x10:0xc02bb744 > frame pointer = 0x10:0xc02bb764 > 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 = Idle > interrupt mask = bio > trap number = 12 > panic: page fault > > syncing disks... > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x30 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xc01fb4e0 > stack pointer = 0x10:0xc02bb56c > frame pointer = 0x10:0xc02bb574 > 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 = Idle > interrupt mask = bio > trap number = 12 > panic: page fault > Uptime: 1m8s > > dumping to dev #da/0x20001, offset 1785984 > dump 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 > 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 > 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 > 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 > 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 > 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 > --- > #0 dumpsys () at ../../kern/kern_shutdown.c:472 > 472 if (dumping++) { > (kgdb) where > #0 dumpsys () at ../../kern/kern_shutdown.c:472 > #1 0xc0155597 in boot (howto=260) at ../../kern/kern_shutdown.c:312 > #2 0xc0155914 in poweroff_wait (junk=0xc02b466f, howto=0) > at ../../kern/kern_shutdown.c:559 > #3 0xc0275b29 in trap_fatal (frame=0xc02bb52c, eva=48) > at ../../i386/i386/trap.c:951 > #4 0xc0275801 in trap_pfault (frame=0xc02bb52c, usermode=0, eva=48) > at ../../i386/i386/trap.c:844 > #5 0xc02753eb in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi > = 0, > tf_esi = -1060317440, tf_ebp = -1070877324, tf_isp = -1070877352, > tf_ebx = -1070792452, tf_edx = 6865472, tf_ecx = -919424256, tf_eax > = 0, > tf_trapno = 12, tf_err = 0, tf_eip = -1071663904, tf_cs = 8, > tf_eflags = 66050, tf_esp = -1060317440, tf_ss = -1060317440}) > at ../../i386/i386/trap.c:443 > #6 0xc01fb4e0 in acquire_lock (lk=0xc02d00fc) > at ../../ufs/ffs/ffs_softdep.c:271 > #7 0xc01ff550 in softdep_update_inodeblock (ip=0xc0ccd700, bp=0xc34cc2a4, > waitfor=0) at ../../ufs/ffs/ffs_softdep.c:3775 > #8 0xc01fa7b9 in ffs_update (vp=0xc932b300, waitfor=0) > at ../../ufs/ffs/ffs_inode.c:106 > #9 0xc0202874 in ffs_sync (mp=0xc0c3e800, waitfor=2, cred=0xc0731900, > p=0xc031d100) at ../../ufs/ffs/ffs_vfsops.c:988 > #10 0xc01842b7 in sync (p=0xc031d100, uap=0x0) at > ../../kern/vfs_syscalls.c:545 > #11 0xc015534a in boot (howto=256) at ../../kern/kern_shutdown.c:233 > #12 0xc0155914 in poweroff_wait (junk=0xc02b466f, howto=0) > at ../../kern/kern_shutdown.c:559 > #13 0xc0275b29 in trap_fatal (frame=0xc02bb704, eva=0) > at ../../i386/i386/trap.c:951 > #14 0xc0275801 in trap_pfault (frame=0xc02bb704, usermode=0, eva=0) > ---Type <return> to continue, or q <return> to quit--- > at ../../i386/i386/trap.c:844 > #15 0xc02753eb in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, > tf_edi = -1059803776, tf_esi = 0, tf_ebp = -1070876828, > tf_isp = -1070876880, tf_ebx = -1059803776, tf_edx = -1060261576, > tf_ecx = -1059803776, tf_eax = 0, tf_trapno = 12, tf_err = 0, > tf_eip = -1071526899, tf_cs = 8, tf_eflags = 66118, > tf_esp = -1059803776, tf_ss = -1059803776}) at > ../../i386/i386/trap.c:443 > #16 0xc021cc0d in usbd_transfer (xfer=0xc0d4ad80) at > ../../dev/usb/usbdi.c:285 > #17 0xc0225673 in umass_setup_ctrl_transfer (sc=0xc0d53000, > udev=0xc0cd7da0, > req=0xc0d53076, buffer=0x0, buflen=0, flags=0, xfer=0xc0d4ad80) > at ../../dev/usb/umass.c:1049 > #18 0xc02256e5 in umass_clear_endpoint_stall (sc=0xc0d53000, endpt=2, > pipe=0xc0cc1c00, state=9, xfer=0xc0d4ad80) at > ../../dev/usb/umass.c:1082 > #19 0xc0225cf1 in umass_bbb_state (xfer=0xc0d4ae00, priv=0xc0d53000, > err=USBD_IOERROR) at ../../dev/usb/umass.c:1513 > #20 0xc021d387 in usb_transfer_complete (xfer=0xc0d4ae00) > at ../../dev/usb/usbdi.c:839 > #21 0xc021a4e5 in ohci_process_done (sc=0xc0729000, done=130123200) > at ../../dev/usb/ohci.c:1248 > #22 0xc021a262 in ohci_intr1 (sc=0xc0729000) at ../../dev/usb/ohci.c:1065 > #23 0xc021a155 in ohci_intr (p=0xc0729000) at ../../dev/usb/ohci.c:994 > (kgdb) > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010722103530.R591-100000>