freebsd-nq/sys
Bill Paul 3229c9302a When opening a pipe, usbd_setup_pipe() will do a usbd_clear_endpoint_stall()
to make sure the pipe is ready. Some devices apparently don't support
the clear stall command however. So what happens when you issue such
devices a clear stall command? Typically, the command just times out.
This, at least, is the behavior I've observed with two devices that
I own: a Rio600 mp3 player and a T-Mobile Sidekick II.

It used to be that after the timeout expired, the pipe open operation
would conclude and you could still access the device, with the only
negative effect being a long delay on open. But in the recent past,
someone added code to make the timeout a fatal error, thereby breaking
the ability to communicate with these devices in any way.

I don't know exactly what the right solution is for this problem:
presumeably there is some way to determine whether or not a device
supports the 'clear stall' command beyond just issuing one and waiting
to see if it times out, but I don't know what that is. So for now,
I've added a special case to the error checking code so that the
timeout is once again non-fatal, thereby letting me use my two
devices again.
2004-09-29 18:12:33 +00:00
..
alpha - Add support for "paging" in stack trace output. That is, when you do 2004-09-20 19:05:32 +00:00
amd64 MFi386: rev 1.239 - invalidate tlb after pte update 2004-09-29 01:59:10 +00:00
arm Calling fuword from fuword32 with bl and without returning after is really a bad 2004-09-28 14:39:26 +00:00
boot Fixed exiting from pager using the `q' key while paging 2004-09-29 13:43:55 +00:00
cam For removable devices without media we set a zero mediasize but a non-zero 2004-09-05 21:15:58 +00:00
coda Do not use devsw() but si_devsw direction. This is still bogus but a 2004-09-23 12:19:24 +00:00
compat Add a proc *p pointer for td->td_proc to make this code easier to read. 2004-09-24 20:26:15 +00:00
conf Be consistant; make the memrange bit be part of the mem module like 2004-09-28 07:29:54 +00:00
contrib Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
crypto Use __FBSDID(). 2004-06-14 00:38:54 +00:00
ddb Refactor a bunch of scheduler code to give basically the same behaviour 2004-09-05 02:09:54 +00:00
dev When opening a pipe, usbd_setup_pipe() will do a usbd_clear_endpoint_stall() 2004-09-29 18:12:33 +00:00
doc Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
fs XXX mark two places where we do not hold a threadcount on the dev when 2004-09-24 08:32:36 +00:00
gdb Comment-out the debugging printf I left in in case there were some 2004-08-10 19:32:33 +00:00
geom Protect the start/end counts on consumers and providers with the up/down 2004-09-28 11:56:37 +00:00
gnu Desupport device nodes on EXT2 filesystems. 2004-09-27 20:38:46 +00:00
i4b Kill count device support from config. I've changed the last few 2004-08-30 23:03:58 +00:00
i386 Improve the panic message for a busted MP table with conflicting entries 2004-09-24 18:42:54 +00:00
ia64 ...And fix WITNESS builds: declare syscallnames. 2004-09-26 20:39:56 +00:00
isa Converge towards i386. I originally resisted creating <machine/pc/bios.h> 2004-09-24 01:08:34 +00:00
isofs/cd9660 Hold proper thread count while frobbing drivers ioctl. 2004-09-24 07:24:02 +00:00
kern Account for alias devices when tearing them down in destroy_dev() so we 2004-09-29 16:38:38 +00:00
libkern Move the kernel-specific logic to adjust frompc from MI to MD. For 2004-08-27 19:42:35 +00:00
modules Add the memrange bits to the loadable module. 2004-09-28 07:26:00 +00:00
net Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
net80211 Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
netatalk Inline umich license from COPYRIGHT to make it clear what license the 2004-08-10 03:23:05 +00:00
netatm Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
netgraph Fix an issue with ng_tty which (ab)used the tty->t_sc field which is 2004-09-17 22:26:27 +00:00
netinet Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
netinet6 Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
netipsec Correct handling of SADB_UPDATE and SADB_ADD requests. key_align may split 2004-09-26 02:01:27 +00:00
netipx Mark Netgraph TTY, KAME IPSEC, and IPX/SPX as requiring Giant for correct 2004-08-28 15:24:53 +00:00
netkey The KAME IPSEC implementation at one point used its own pseudo-random 2004-09-02 20:14:03 +00:00
netnatm Constify send and receive space constants in natm. 2004-06-24 03:11:29 +00:00
netncp Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
netsmb Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
nfs
nfs4client Remove NFS4 vop method vector for devices: we are desupporing device nodes 2004-09-27 20:02:50 +00:00
nfsclient Remove support for using NFS device nodes. 2004-09-28 08:50:01 +00:00
nfsserver Convert a mtx_lock(&Giant) to a mtx_unlock(&Giant) in nfsrv_link() to 2004-08-25 16:52:59 +00:00
opencrypto Don't acquire Giant in cryptof_close(), as the code is intended to be 2004-08-10 03:26:17 +00:00
pc98 Merged from sys/dev/sio/sio.c: more tty related changes. 2004-09-20 14:01:38 +00:00
pccard Move PNP IDs back into oldcard files 2004-08-13 06:57:31 +00:00
pci fix jumbo frames as much as they can be fixed for re. We now cap the MTU 2004-09-28 18:22:24 +00:00
posix4
powerpc Add sc_iostart to softc and unbreak the build. 2004-09-27 19:51:58 +00:00
rpc Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-23 18:25:46 +00:00
security Remove the debugging tunable, it was not being used. 2004-09-10 15:14:50 +00:00
sparc64 Add an assertion that the pcb_nsaved field of the pcb be less than 2004-09-28 16:36:58 +00:00
sys Add an additional struct inpcb * argument to pfil(9) in order to enable 2004-09-29 04:54:33 +00:00
tools Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
ufs Remove support for accessing device nodes in UFS/FFS. 2004-09-28 13:30:58 +00:00
vm Don't look for swap blocks in objects that aren't swap-backed. 2004-09-24 16:04:20 +00:00
Makefile Add a NO_BOOT knob to prevent building the boot blocks and loader. 2004-08-19 09:54:28 +00:00