kernel-ark/include/linux
Roman Kagan 719df469cb [PATCH] USB: update urb documentation
On Wed, May 04, 2005 at 01:37:30PM -0700, David Brownell wrote:
> On Wednesday 04 May 2005 12:19 pm, Roman Kagan wrote:
> > struct urb {
> > 	/* private, usb core and host controller only fields in the urb */
> > 	...
> > 	struct list_head urb_list;	/* list pointer to all active urbs */
> > 	...
> > };
> >
> > Is it safe to use it for driver's purposes when the driver owns the urb,
> > that is, starting from the completion routine until the urb is submitted
> > with usb_submit_urb()?
>
> Right now, it should be.

Great!  FWIW I've briefly tested a modified version of usbatm using
the list head in struct urb instead of creating a wrapper struct, and I
haven't seen any failures yet.  So I tend to believe that your "should
be" actually means "is" :)

> > If it is, can it be guaranteed in future, e.g.
> > by moving the list head into the public section of struct urb?
>
> In fact I'm not sure why it ever got called "private" to usbcore/hcds.
> I thought the idea was that it should be like urb->status, reserved for
> whoever controls the URB.

OK then how about the following (essentially documentation) patch?

Signed-off-by: Roman Kagan <rkagan@mail.ru>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-06-03 00:04:30 -07:00
..
byteorder
dvb
hdlc
isdn
lockd
mmc [PATCH] MMC: Proper MMC command classes support 2005-05-21 10:27:02 +01:00
mtd
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
sunrpc
tc_act
tc_ematch
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h [PATCH] VIA IRQ quirk 2005-05-27 08:15:04 -07:00
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
ata.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs4.h
auto_fs.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h [PATCH] make some things static 2005-05-05 16:36:47 -07:00
bio.h
bitmap.h
bitops.h
blkdev.h
blkpg.h
blockgroup_lock.h
bootmem.h
bpqether.h
buffer_head.h
cache.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
circ_buf.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat_ioctl.h
compat.h
compiler-gcc2.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
config.h
console_struct.h
console.h
consolemap.h
cpu.h
cpufreq.h [CPUFREQ] fix up comment in cpufreq.h 2005-05-31 19:03:47 -07:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crc32.h
crc32c.h
crc-ccitt.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dcookies.h
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h [PATCH] Driver Core: remove driver model detach_state 2005-05-17 14:54:55 -07:00
devpts_fs.h
dio.h
dirent.h
divert.h
dm-ioctl.h
dma-mapping.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
dtlk.h
edd.h
eeprom.h
efi.h
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore.h
err.h Fix get_unmapped_area sanity tests 2005-05-19 22:43:37 -07:00
errno.h
errqueue.h
etherdevice.h [NET]: Add is_multicast_ether_addr() in include/linux/etherdevice.h 2005-05-29 20:24:30 -07:00
ethtool.h [NET]: Add ethtool support for NETIF_F_HW_CSUM. 2005-05-29 20:27:24 -07:00
eventpoll.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h
ext3_jbd.h
fadvise.h
fb.h
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h
fs_struct.h
fs.h [PATCH] remove do_sync parameter from __invalidate_device 2005-05-05 16:36:44 -07:00
fsl_devices.h
ftape-header-segment.h
ftape-vendors.h
ftape.h
futex.h
gameport.h Input: 2005-05-28 02:11:12 -05:00
gen_stats.h
generic_serial.h
genhd.h
gfp.h
hardirq.h [PATCH] irq code: Add coherence test for PREEMPT_ACTIVE 2005-05-28 16:46:14 -07:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h
highuid.h
hippidevice.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
hpet.h
hpfs_fs.h
hugetlb.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h
i2c-id.h
i2c-sensor.h
i2c-vid.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h [PATCH] convert IDE device drivers to driver-model 2005-05-26 14:55:34 +02:00
idr.h
if_arcnet.h
if_arp.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h [NET]: Fix locking in shaper driver. 2005-06-02 16:36:00 -07:00
if_slip.h
if_strip.h
if_tr.h [TOKENRING]: be'ify trh_hdr, trllc, rif_cache_s 2005-05-26 12:59:05 -07:00
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe_common.h
if_wanpipe.h
if.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
igmp.h
in6.h
in_route.h
in.h
inet.h
inetdevice.h [IPV4]: Primary and secondary addresses 2005-05-29 20:23:46 -07:00
init_task.h
init.h
initrd.h
input.h
interrupt.h
ioc4_common.h
ioctl32.h
ioctl.h
ioport.h
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq.h
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h [PATCH] ixj* - compile warning cleanup 2005-05-05 16:36:48 -07:00
jbd.h
jffs2_fs_i.h
jffs2_fs_sb.h
jffs2.h
jffs.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel_stat.h
kernel.h
kernelcapi.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject_uevent.h
kobject.h
kprobes.h
kref.h
kthread.h
lapb.h
lcd.h
libata.h Automatic merge of /spare/repo/linux-2.6/.git branch HEAD 2005-06-02 18:43:09 -04:00
libps2.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
loop.h
lp.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
mempool.h
meye.h
mii.h [BNX2]: New Broadcom gigabit network driver. 2005-05-26 13:03:09 -07:00
minix_fs.h
miscdevice.h
mm_inline.h
mm.h [PATCH] Spelling cleanups in shrinker code 2005-05-05 16:36:49 -07:00
mman.h
mmtimer.h
mmzone.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h [PATCH] revert ext3-writepages-support-for-writeback-mode 2005-05-05 16:36:44 -07:00
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h
namei.h
namespace.h
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
net.h [NET]: Kill stray reference to sock->passcred. 2005-05-23 12:45:26 -07:00
netdevice.h [NET]: Fix HH_DATA_OFF. 2005-06-02 16:48:05 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netfilter.h
netlink.h
netpoll.h
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsd_idmap.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h [BRIDGE]: features change notification 2005-05-29 14:13:47 -07:00
nubus.h
numa.h
nvram.h
openprom_fs.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
patchkey.h
pci_ids.h [PATCH] PCI: amd74xx patch for new NVIDIA device IDs 2005-05-31 14:26:38 -07:00
pci-acpi.h
pci-dynids.h
pci.h
pcieport_if.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pg.h
phonedev.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h [PKT_SCHED] netem: allow random reordering (with fix) 2005-05-26 12:55:48 -07:00
pktcdvd.h
platform.h
pm.h
pmu.h
pnp.h
pnpbios.h
poll.h
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h
profile.h
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h
qnxtypes.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot_fixups.h
reboot.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h [PATCH] comments on locking of task->comm 2005-05-05 16:36:48 -07:00
sctp.h
scx200_gpio.h
scx200.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdla.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h [PATCH] Serial: Add uart_insert_char() 2005-05-09 23:21:59 +01:00
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h
slab.h
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h
snmp.h
socket.h
sockios.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h [PATCH] spin_unlock_bh() and preempt_check_resched() 2005-05-21 10:46:48 -07:00
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h [IPV4]: Primary and secondary addresses 2005-05-29 20:23:46 -07:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp_diag.h
tcp.h
telephony.h
termios.h
thread_info.h
threads.h
ticable.h
time.h
timer.h
times.h
timex.h
tiocl.h
topology.h
toshiba.h
transport_class.h
trdevice.h [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
types.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb_cdc.h
usb_ch9.h
usb_gadget.h
usb_gadgetfs.h
usb_otg.h
usb_sl811.h
usb.h [PATCH] USB: update urb documentation 2005-06-03 00:04:30 -07:00
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h
videodev.h
videotext.h
vmalloc.h [PATCH] x86_64: Fixed guard page handling again in iounmap 2005-05-20 15:48:20 -07:00
vt_buffer.h
vt_kern.h
vt.h
wait.h [PATCH] Cleanup DEFINE_WAIT 2005-05-24 17:05:20 -07:00
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h
x25.h
xattr_acl.h
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h
zutil.h