bk://kernel.bkbits.net/gregkh/linux/usb-2.6
daniel.ritz@gmx.ch|ChangeSet|20041130001039|32207 daniel.ritz

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/11/29 20:55:53-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/io_edgeport.c
#   2004/11/29 20:55:48-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/29 20:53:17-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/29 20:53:12-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/29 16:10:39-08:00 daniel.ritz@gmx.ch 
#   [PATCH] USB touchkitusb: module_param to swap axes
#   
#   add a module parameter to swap the axes. many displays need this...
#   
#   Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/input/touchkitusb.c
#   2004/11/24 09:57:59-08:00 daniel.ritz@gmx.ch +15 -4
#   USB touchkitusb: module_param to swap axes
# 
# ChangeSet
#   2004/11/29 16:09:20-08:00 greg@kroah.com 
#   USB: minor Makefile fix.
#   
#   This fixes http://bugme.osdl.org/show_bug.cgi?id=3813
#   
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/Makefile
#   2004/11/29 16:08:58-08:00 greg@kroah.com +1 -0
#   USB: minor Makefile fix.
#   
#   This fixes http://bugme.osdl.org/show_bug.cgi?id=3813
#   
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# ChangeSet
#   2004/11/29 11:42:17-08:00 greg@kroah.com 
#   [PATCH] USB: fix oops in io_edgeport.c driver
#   
#   This fixes https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=128916
#   
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/serial/io_edgeport.c
#   2004/11/29 11:41:49-08:00 greg@kroah.com +5 -2
#   USB: fix oops in io_edgeport.c driver
# 
# ChangeSet
#   2004/11/29 10:42:14-08:00 rddunlap@osdl.org 
#   [PATCH] usb-storage should enable scsi disk in Kconfig
#   
#   Add comment/NOTE that USB_STORAGE probably needs BLK_DEV_SD also.
#   Add a few device types to help text and reformat it.
#   
#   Signed-off-by: Randy Dunlap <rddunlap@osdl.org>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/storage/Kconfig
#   2004/11/20 15:15:11-08:00 rddunlap@osdl.org +11 -4
#   usb-storage should enable scsi disk in Kconfig
# 
# ChangeSet
#   2004/11/29 10:41:15-08:00 shemminger@osdl.org 
#   [PATCH] usb_unlink_urb: ratelimit warning
#   
#   The warning about using unlink_urb needs to be rate limited, because
#   if a driver is still doing it will overrun the system logs.
#   
#   Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/core/urb.c
#   2004/11/29 09:46:33-08:00 shemminger@osdl.org +5 -3
#   usb_unlink_urb: ratelimit warning
# 
# ChangeSet
#   2004/11/29 10:40:36-08:00 marcel@holtmann.org 
#   [PATCH] fix unnecessary increment in firmware_class_hotplug() and USB core
#   
#   >   This patch is to fix unnecessary increment of 'i' used to
#   > specify an element of an arry 'envp[]' in firmware_class_hotplug().
#   > The 'i' is already incremented in add_hotplug_env_var(), actually.
#   
#   you are right. The incrementation is wrong, but it doesn't have any
#   negative effect. However the same applies for the usb_hotplug() function
#   in drivers/usb/core/usb.c.
#   
#   Signed-off-by: Keiichiro Tokunaga <tokunaga.keiich@jp.fujitsu.com>
#   Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/core/usb.c
#   2004/11/26 12:27:08-08:00 marcel@holtmann.org +1 -1
#   fix unnecessary increment in firmware_class_hotplug() and USB core
# 
# drivers/base/firmware_class.c
#   2004/11/26 12:26:48-08:00 marcel@holtmann.org +1 -1
#   fix unnecessary increment in firmware_class_hotplug() and USB core
# 
# ChangeSet
#   2004/11/29 10:40:01-08:00 phil@ipom.com 
#   [PATCH] USB Storage: Add unusual_devs entry for another yakumo camera
#   
#   This adds an unusual devs entry for another Yakumo camera - it suffers
#   from the residue problem.
#   
#   Originally reported by Michele Alzetta <michele.alzetta@aliceposta.it>.
#   
#   Greg, please apply.
#   
#   Signed-off-by: Phil Dibowitz <phil@ipom.com>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/storage/unusual_devs.h
#   2004/11/25 21:54:42-08:00 phil@ipom.com +8 -0
#   USB Storage: Add unusual_devs entry for another yakumo camera
# 
# ChangeSet
#   2004/11/27 13:56:03-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/27 13:55:59-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/26 00:57:50-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/visor.c
#   2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/usbnet.c
#   2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hub.c
#   2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/24 15:46:18-08:00 greg@kroah.com 
#   USB: fix dev_dbg() call in visor.c
#   
#   Turns out that this macro doesn't work in usb-serial drivers, I had forgotten
#   about that :(
#   
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/serial/visor.c
#   2004/11/24 15:45:47-08:00 greg@kroah.com +1 -1
#   USB: fix dev_dbg() call in visor.c
#   
#   Turns out that this macro doesn't work in usb-serial drivers, I had forgotten
#   about that :(
#   
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# ChangeSet
#   2004/11/24 15:15:22-08:00 dfries@mail.win.org 
#   [PATCH] USB: fix for HID field index
#   
#   The problem I'm having is that the field index is always returned as 0
#   when reading struct hiddev_usage_ref and I need something to
#   distinguish the input data as the usage code is the same.  I looked
#   through hid-core.c and hiddev.c and hiddev_hid_event is the only place
#   I could see field->index being used.  It wasn't being initialized
#   causing the input to always be returned as zero.
#   
#   Signed-off-by: David Fries <dfries@mail.win.org>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/input/hid-core.c
#   2004/11/15 08:54:39-08:00 dfries@mail.win.org +2 -1
#   USB: fix for HID field index
# 
# ChangeSet
#   2004/11/24 15:14:58-08:00 david-b@pacbell.net 
#   [PATCH] USB: ax8817x/usbnet, no GFP_KERNEL blocking in_irq
#   
#   This removes some nasty might_sleep() warnings.
#   Worth fixing before 2.6.10-final IMO; we don't
#   actually _know_ of oopses this bug caused ...
#   
#   The AX8817x link detection code was calling usb_submit_urb() with
#   GFP_KERNEL in a completion handler (IRQ handler).  That's a no-no.
#   
#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/net/usbnet.c
#   2004/11/23 12:19:08-08:00 david-b@pacbell.net +1 -1
#   USB: ax8817x/usbnet, no GFP_KERNEL blocking in_irq
# 
# ChangeSet
#   2004/11/24 15:14:34-08:00 armijn@uulug.nl 
#   [PATCH] USB: add ati_remote.c device id
#   
#   please consider applying the attached patch which adds an identifier for
#   another variant of the X10 RF remote. This one is very common everywhere
#   in Europe where Aldi (a supermarket discounter) sells their PCs
#   (Netherlands, Belgium, northern Germany, France, Spain, ...).
#   Considering that they ship a few 100,000 PCs once or twice every year
#   you can imagine there are quite a few of these remotes kicking around.
#   
#   I've tested with 2.6.10-rc2 and various versions of XMMS and lirc with
#   the devinput driver. It does play well with lirc-0.7.0-pre8 but not so
#   nice with 0.7.0. I don't know why, but according to some posts on the
#   lirc list it seems to be in lirc.
#   
#   By the way, there seem to be even more variants of this device,
#   according to:
#   
#   http://cvs.sourceforge.net/viewcvs.py/lirc/lirc/drivers/lirc_atiusb/lirc_atiusb.c
#   
#   From: Armijn Hemel <armijn@uulug.nl>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/input/ati_remote.c
#   2004/11/21 17:16:11-08:00 armijn@uulug.nl +4 -1
#   USB: add ati_remote.c device id
# 
# ChangeSet
#   2004/11/24 15:14:09-08:00 alborchers@steinerpoint.com 
#   [PATCH] USB Gadget: gadget serial documentation
#   
#   This patch adds the gadget serial documentation.
#   
#   
#   Signed-off-by: Al Borchers <alborchers@steinerpoint.com>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# Documentation/usb/gadget_serial.txt
#   2004/11/20 00:13:32-08:00 alborchers@steinerpoint.com +332 -0
#   USB Gadget: gadget serial documentation
# 
# Documentation/usb/gadget_serial.txt
#   2004/11/20 00:13:32-08:00 alborchers@steinerpoint.com +0 -0
#   BitKeeper file /home/greg/linux/BK/usb-2.6/Documentation/usb/gadget_serial.txt
# 
# ChangeSet
#   2004/11/24 15:13:42-08:00 david-b@pacbell.net 
#   [PATCH] USB: "sparse -Wcontext" and USB HCDs ...
#   
#   This adds "sparse -Wcontext" annotations to the main HCDs, reflecting that
#   they all need to drop their (schedule) lock while issuing URB completion
#   callbacks.  (Some completion callbacks will resubmit that URB, relying on
#   that to keep the endpoint queue from emptying and getting descheduled.)
#   
#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/host/uhci-hcd.c
#   2004/11/20 10:29:31-08:00 david-b@pacbell.net +4 -1
#   USB: "sparse -Wcontext" and USB HCDs ...
# 
# drivers/usb/host/ohci-q.c
#   2004/11/20 10:28:54-08:00 david-b@pacbell.net +2 -0
#   USB: "sparse -Wcontext" and USB HCDs ...
# 
# drivers/usb/host/ehci-q.c
#   2004/11/20 10:29:13-08:00 david-b@pacbell.net +2 -0
#   USB: "sparse -Wcontext" and USB HCDs ...
# 
# ChangeSet
#   2004/11/24 15:13:17-08:00 david-b@pacbell.net 
#   [PATCH] USB: usb_sg_*() unlink deadlock fix
#   
#   This would be rare with HCDs that maintain chains of DMA
#   transfers, except if the HC dies in the middle of an I/O
#   request; so no rush to merge this.  It'd happen in a PIO
#   based HCD though ... :)
#   
#   
#   Async unlink of an URB from an endpoint's I/O queue _normally_ involves a
#   delay from handshaking with the host controller, to be sure the DMA queue
#   is inactive.  So urb->complete() runs after usb_unlink_urb() returns, and
#   from a different context.  But not always...
#   
#   The completion may run immediately whenever the HCD knows that HC isn't
#   busy with the URB.  Maybe that HCD is in a HALT state, or the endpoint
#   queue is is temporarily off-schedule (halted, or dead after PM resume
#   from D3cold, etc) ... or maybe the HCD doesn't use DMA, so most unlinks
#   just list_del_init() and return.
#   
#   This makes usb_sg_cancel() and sg_complete() drop the io->lock when they
#   cancel active urbs, preventing potential self-deadlock when that completion
#   handler runs immediately.
#   
#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/core/message.c
#   2004/11/22 01:04:54-08:00 david-b@pacbell.net +6 -1
#   USB: usb_sg_*() unlink deadlock fix
# 
# ChangeSet
#   2004/11/24 15:12:52-08:00 david-b@pacbell.net 
#   [PATCH] USB: fix Genesys GL880S EHCI
#   
#   This has two minor patches to make this driver work better with
#   the Genesys GL880S:  don't report hardware port indicators (until
#   the root hub code supports them); and patch the misreported number
#   of ports (two, not four).
#   
#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/host/ehci-hub.c
#   2004/11/23 00:14:42-08:00 david-b@pacbell.net +3 -0
#   USB: fix Genesys GL880S EHCI
# 
# drivers/usb/host/ehci-hcd.c
#   2004/11/23 00:39:00-08:00 david-b@pacbell.net +8 -0
#   USB: fix Genesys GL880S EHCI
# 
# ChangeSet
#   2004/11/24 15:12:26-08:00 david-b@pacbell.net 
#   [PATCH] USB Gadget: add and use gadget_is_pxa27x()
#   
#   The UDC in Intel's "Bulverde" processors is incompatible with the
#   one in their PXA 25x/26x/21x processors, and has different sorts
#   of restrictions.  For example, it can implement real CDC Ethernet,
#   while the earlier (PXA 25x etc) can't.
#   
#   
#   This adds a gadget_is_pxa27x() function and uses it appropriately in the
#   current set of gadget drivers.  (And moves an LH7A40X entry to the right
#   place in "ether.c").
#   
#   From: Dmitry Krivoschokov <dkrivoschokov@dev.rtsoft.ru>
#   Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/gadget/zero.c
#   2004/11/23 03:00:18-08:00 david-b@pacbell.net +2 -0
#   USB Gadget: add and use gadget_is_pxa27x()
# 
# drivers/usb/gadget/serial.c
#   2004/11/23 03:00:18-08:00 david-b@pacbell.net +3 -0
#   USB Gadget: add and use gadget_is_pxa27x()
# 
# drivers/usb/gadget/gadget_chips.h
#   2004/11/23 03:00:18-08:00 david-b@pacbell.net +6 -0
#   USB Gadget: add and use gadget_is_pxa27x()
# 
# drivers/usb/gadget/file_storage.c
#   2004/11/23 03:00:18-08:00 david-b@pacbell.net +2 -0
#   USB Gadget: add and use gadget_is_pxa27x()
# 
# drivers/usb/gadget/ether.c
#   2004/11/23 03:01:48-08:00 david-b@pacbell.net +10 -4
#   USB Gadget: add and use gadget_is_pxa27x()
# 
# ChangeSet
#   2004/11/24 15:11:59-08:00 zaitcev@redhat.com 
#   [PATCH] ub: oops with preempt ("Sahara Workshop")
#   
#   I admit that the code should be locked properly instead, but the global plan
#   is to drop all P3 tagged printks anyway. So let it be guarded for the moment.
#   
#   Signed-off-by: Pete Zaitcev <zaitcev@yahoo.com>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/block/ub.c
#   2004/11/07 19:01:03-08:00 zaitcev@redhat.com +5 -2
#   ub: oops with preempt ("Sahara Workshop")
# 
# ChangeSet
#   2004/11/24 15:11:33-08:00 zaitcev@redhat.com 
#   [PATCH] ub: flag day - major 180
#   
#   The major 180 has been allocated by LANANA. This is needed for people who
#   insist on running 2.6 without udev (imagine that).
#   
#   
#   From: Pete Zaitcev <zaitcev@redhat.com>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/block/ub.c
#   2004/11/07 19:01:03-08:00 zaitcev@redhat.com +1 -1
#   ub: flag day - major 180
# 
# ChangeSet
#   2004/11/24 15:11:06-08:00 rl@hellgate.ch 
#   [PATCH] USB visor: Don't count outstanding URBs twice
#   
#   Incrementing the outstanding_urbs counter twice for the same URB can't
#   be good. No wonder Simon didn't get far syncing his Palm.
#   
#   Signed-off-by: Roger Luethi <rl@hellgate.ch>
#   Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
# 
# drivers/usb/serial/visor.c
#   2004/11/23 11:24:53-08:00 rl@hellgate.ch +0 -1
#   USB visor: Don't count outstanding URBs twice
# 
# ChangeSet
#   2004/11/19 20:21:51-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/storage/isd200.c
#   2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/visor.c
#   2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/pl2303.c
#   2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/17 20:09:39-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# Documentation/kernel-parameters.txt
#   2004/11/17 20:09:34-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/14 21:42:33-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# Documentation/kernel-parameters.txt
#   2004/11/14 21:42:28-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/13 14:43:57-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/usb-serial.c
#   2004/11/13 14:43:54-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_ti.c
#   2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_edgeport.c
#   2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci.h
#   2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-hub.c
#   2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/12 13:24:38-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/usb-serial.c
#   2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_edgeport.c
#   2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hub.c
#   2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/11 15:18:04-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/host/ohci-hub.c
#   2004/11/11 15:18:00-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/core/hcd.c
#   2004/11/11 15:18:00-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hub.c
#   2004/11/11 15:18:00-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/11 15:15:28-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/11 15:15:24-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/09 19:49:40-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# Documentation/kernel-parameters.txt
#   2004/11/09 19:49:35-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/07 21:32:29-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/07 21:32:26-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/11/07 21:32:26-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/05 20:53:11-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/host/ohci.h
#   2004/11/05 20:53:08-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/04 18:38:41-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/04 18:38:37-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/04 13:23:27-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/04 13:23:23-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/03 19:52:50-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/usb-serial.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/pl2303.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/usbnet.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.h
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci.h
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-hub.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-dbg.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci.h
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/core/hcd.c
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/03 12:53:06-08:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/11/03 12:53:03-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/11/01 22:14:34-08:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/usb-serial.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/pl2303.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/catc.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hub.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-hub.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-dbg.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hub.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/core/hcd.c
#   2004/11/01 22:14:28-08:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/30 23:13:27-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/10/30 23:13:23-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/30 23:13:23-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/29 16:12:43-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/10/29 16:12:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/29 16:12:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/28 13:17:12-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/media/ov511.c
#   2004/10/28 13:17:08-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/28 13:17:08-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/10/28 13:17:07-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/25 19:24:31-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# MAINTAINERS
#   2004/10/25 19:24:27-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/22 23:22:28-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/net/kaweth.c
#   2004/10/22 23:22:25-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/10/22 23:22:25-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/21 14:29:54-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/visor.c
#   2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/usb-serial.c
#   2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/pl2303.c
#   2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/cyberjack.c
#   2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/gadget/net2280.c
#   2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/21 14:28:27-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/visor.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/usb-serial.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/pl2303.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_ti.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_edgeport.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/empeg.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/digi_acceleport.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/cyberjack.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/cdc-acm.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/bluetty.c
#   2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/21 00:30:07-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/net/usbnet.c
#   2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/kaweth.c
#   2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/usblp.c
#   2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/21 00:28:34-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/net/catc.c
#   2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/media/ov511.c
#   2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 22:18:43-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/net/rtl8150.c
#   2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/kaweth.c
#   2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/catc.c
#   2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/gadget/net2280.c
#   2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/19 17:42:42-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/digi_acceleport.c
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/media/konicawc.c
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci.h
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/gadget/net2280.c
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/usblp.c
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/18 20:41:07-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/net/usbnet.c
#   2004/10/18 20:41:04-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/kaweth.c
#   2004/10/18 20:41:04-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/cdc-acm.c
#   2004/10/18 20:41:04-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/18 20:40:03-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/input/hid-core.c
#   2004/10/18 20:40:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/15 22:48:29-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# Documentation/kernel-parameters.txt
#   2004/10/15 22:48:26-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/15 22:47:28-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/digi_acceleport.c
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -6
#   Auto merged
# 
# drivers/usb/media/konicawc.c
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -1
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -1
#   Auto merged
# 
# drivers/usb/host/ehci.h
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -1
#   Auto merged
# 
# drivers/usb/host/ehci-hcd.c
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -9
#   Auto merged
# 
# drivers/usb/gadget/net2280.c
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -10
#   Auto merged
# 
# drivers/usb/class/usblp.c
#   2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -4
#   Auto merged
# 
# ChangeSet
#   2004/10/09 14:45:27-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb
# 
# Documentation/kernel-parameters.txt
#   2004/10/09 14:45:23-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/08 12:14:08-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/serial/empeg.c
#   2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/core/hcd.c
#   2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/bluetty.c
#   2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/06 20:17:39-07:00 akpm@bix.(none) 
#   Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6
#   into bix.(none):/usr/src/bk-usb
# 
# drivers/usb/storage/protocol.c
#   2004/10/06 20:17:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/storage/isd200.c
#   2004/10/06 20:17:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_ti.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_edgeport.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/empeg.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/usbnet.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/rtl8150.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/kaweth.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/catc.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/misc/legousbtower.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/misc/auerswald.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/media/ov511.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/wacom.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/kbtab.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/aiptek.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hub.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.h
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci.h
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-hub.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-dbg.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci.h
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hub.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/core/hcd.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/usblp.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/cdc-acm.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/bluetty.c
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/10/06 20:17:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/10/06 14:34:47-07:00 akpm@bix.(none) 
#   foo
# 
# drivers/usb/host/uhci-hub.c
#   2004/10/06 14:34:41-07:00 akpm@bix.(none) +0 -3
#   foo
# 
# drivers/usb/storage/protocol.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/storage/isd200.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_ti.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/io_edgeport.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/serial/empeg.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/usbnet.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/rtl8150.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/kaweth.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/net/catc.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/misc/legousbtower.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/misc/auerswald.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/media/ov511.c
#   2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/wacom.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/kbtab.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/hid-core.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/input/aiptek.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.h
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/uhci-hcd.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci.h
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-hub.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ohci-dbg.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci.h
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/host/ehci-hub.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/core/hcd.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/usblp.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/cdc-acm.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/usb/class/bluetty.c
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# MAINTAINERS
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# Documentation/kernel-parameters.txt
#   2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
diff -Nru a/Documentation/usb/gadget_serial.txt b/Documentation/usb/gadget_serial.txt
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/Documentation/usb/gadget_serial.txt	2004-11-29 22:05:34 -08:00
@@ -0,0 +1,332 @@
+
+                 Linux Gadget Serial Driver v2.0
+                           11/20/2004
+
+
+License and Disclaimer
+----------------------
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of
+the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public
+License along with this program; if not, write to the Free
+Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+MA 02111-1307 USA.
+
+This document and the the gadget serial driver itself are
+Copyright (C) 2004 by Al Borchers (alborchers@steinerpoint.com).
+
+If you have questions, problems, or suggestions for this driver
+please contact Al Borchers at alborchers@steinerpoint.com.
+
+
+Prerequisites
+-------------
+Versions of the gadget serial driver are available for the
+2.4 Linux kernels, but this document assumes you are using
+version 2.0 or later of the gadget serial driver in a 2.6
+Linux kernel.
+
+This document assumes that you are familiar with Linux and
+Windows and know how to configure and build Linux kernels, run
+standard utilities, use minicom and HyperTerminal, and work with
+USB and serial devices.  It also assumes you configure the Linux
+gadget and usb drivers as modules.
+
+
+Overview
+--------
+The gadget serial driver is a Linux USB gadget driver, a USB device
+side driver.  It runs on a Linux system that has USB device side
+hardware; for example, a PDA, an embedded Linux system, or a PC
+with a USB development card.
+
+The gadget serial driver talks over USB to either a CDC ACM driver
+or a generic USB serial driver running on a host PC.
+
+   Host
+   --------------------------------------
+  | Host-Side   CDC ACM       USB Host   |
+  | Operating |   or        | Controller |   USB
+  | System    | Generic USB | Driver     |--------
+  | (Linux or | Serial      | and        |        |
+  | Windows)    Driver        USB Stack  |        |
+   --------------------------------------         |
+                                                  |
+                                                  |
+                                                  |
+   Gadget                                         |
+   --------------------------------------         |
+  | Gadget                   USB Periph. |        |
+  | Device-Side |  Gadget  | Controller  |        |
+  | Linux       |  Serial  | Driver      |--------
+  | Operating   |  Driver  | and         |
+  | System                   USB Stack   |
+   --------------------------------------
+
+On the device-side Linux system, the gadget serial driver looks
+like a serial device.
+
+On the host-side system, the gadget serial device looks like a
+CDC ACM compliant class device or a simple vendor specific device
+with bulk in and bulk out endpoints, and it is treated similarly
+to other serial devices.
+
+The host side driver can potentially be any ACM compliant driver
+or any driver that can talk to a device with a simple bulk in/out
+interface.  Gadget serial has been tested with the Linux ACM driver,
+the Windows usbser.sys ACM driver, and the Linux USB generic serial
+driver.
+
+With the gadget serial driver and the host side ACM or generic
+serial driver running, you should be able to communicate between
+the host and the gadget side systems as if they were connected by a
+serial cable.
+
+The gadget serial driver only provides simple unreliable data
+communication.  It does not yet handle flow control or many other
+features of normal serial devices.
+
+
+Installing the Gadget Serial Driver
+-----------------------------------
+To use the gadget serial driver you must configure the Linux gadget
+side kernel for "Support for USB Gadgets", for a "USB Peripheral
+Controller" (for example, net2280), and for the "Serial Gadget"
+driver.  All this are listed under "USB Gadget Support" when
+configuring the kernel.  Then rebuild and install the kernel or
+modules.
+
+The gadget serial driver uses major number 127, for now.  So you
+will need to create a device node for it, like this:
+
+  mknod /dev/ttygserial c 127 0
+
+You only need to do this once.
+
+Then you must load the gadget serial driver.  To load it as an
+ACM device, do this:
+
+  modprobe g_serial use_acm=1
+
+To load it as a vendor specific bulk in/out device, do this:
+
+  modprobe g_serial
+
+This will also automatically load the underlying gadget peripheral
+controller driver.  This must be done each time you reboot the gadget
+side Linux system.  You can add this to the start up scripts, if
+desired.
+
+If gadget serial is loaded as an ACM device you will want to use
+either the Windows or Linux ACM driver on the host side.  If gadget
+serial is loaded as a bulk in/out device, you will want to use the
+Linux generic serial driver on the host side.  Follow the appropriate
+instructions below to install the host side driver.
+
+
+Installing the Windows Host ACM Driver
+--------------------------------------
+To use the Windows ACM driver you must have the files "gserial.inf"
+and "usbser.sys" together in a folder on the Windows machine.
+
+The "gserial.inf" file is given here.
+
+-------------------- CUT HERE --------------------
+[Version]
+Signature="$Windows NT$"
+Class=Ports
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%LINUX%
+DriverVer=08/17/2004,0.0.2.0
+; Copyright (C) 2004 Al Borchers (alborchers@steinerpoint.com)
+
+[Manufacturer]
+%LINUX%=GSerialDeviceList
+
+[GSerialDeviceList]
+%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7
+
+[DestinationDirs]
+DefaultDestDir=10,System32\Drivers
+
+[GSerialInstall]
+CopyFiles=GSerialCopyFiles
+AddReg=GSerialAddReg
+
+[GSerialCopyFiles]
+usbser.sys
+
+[GSerialAddReg]
+HKR,,DevLoader,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+
+[GSerialInstall.Services]
+AddService = usbser,0x0002,GSerialService
+
+[GSerialService]
+DisplayName = %GSERIAL_DISPLAY_NAME%
+ServiceType = 1                  ; SERVICE_KERNEL_DRIVER
+StartType = 3                    ; SERVICE_DEMAND_START
+ErrorControl = 1                 ; SERVICE_ERROR_NORMAL
+ServiceBinary = %10%\System32\Drivers\usbser.sys
+LoadOrderGroup = Base
+
+[Strings]
+LINUX = "Linux"
+GSERIAL = "Gadget Serial"
+GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver"
+-------------------- CUT HERE --------------------
+
+The "usbser.sys" file comes with various versions of Windows.
+For example, it can be found on Windows XP typically in
+
+  C:\WINDOWS\Driver Cache\i386\driver.cab
+
+Or it can be found on the Windows 98SE CD in the "win98" folder
+in the "DRIVER11.CAB" through "DRIVER20.CAB" cab files.  You will
+need the DOS "expand" program, the Cygwin "cabextract" program, or
+a similar program to unpack these cab files and extract "usbser.sys".
+
+For example, to extract "usbser.sys" into the current directory
+on Windows XP, open a DOS window and run a command like
+
+  expand C:\WINDOWS\Driver~1\i386\driver.cab -F:usbser.sys .
+
+(Thanks to Nishant Kamat for pointing out this DOS command.)
+
+When the gadget serial driver is loaded and the USB device connected
+to the Windows host with a USB cable, Windows should recognize the
+gadget serial device and ask for a driver.  Tell Windows to find the
+driver in the folder that contains "gserial.inf" and "usbser.sys".
+
+For example, on Windows XP, when the gadget serial device is first
+plugged in, the "Found New Hardware Wizard" starts up.  Select
+"Install from a list or specific location (Advanced)", then on
+the next screen select "Include this location in the search" and
+enter the path or browse to the folder containing "gserial.inf" and
+"usbser.sys".  Windows will complain that the Gadget Serial driver
+has not passed Windows Logo testing, but select "Continue anyway"
+and finish the driver installation.
+
+On Windows XP, in the "Device Manager" (under "Control Panel",
+"System", "Hardware") expand the "Ports (COM & LPT)" entry and you
+should see "Gadget Serial" listed as the driver for one of the COM
+ports.
+
+To uninstall the Windows XP driver for "Gadget Serial", right click
+on the "Gadget Serial" entry in the "Device Manager" and select
+"Uninstall".
+
+
+Installing the Linux Host ACM Driver
+------------------------------------
+To use the Linux ACM driver you must configure the Linux host side
+kernel for "Support for Host-side USB" and for "USB Modem (CDC ACM)
+support".
+
+Once the gadget serial driver is loaded and the USB device connected
+to the Linux host with a USB cable, the host system should recognize
+the gadget serial device.  For example, the command
+
+  cat /proc/bus/usb/devices
+
+should show something like this:
+
+T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  5 Spd=480 MxCh= 0
+D:  Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
+P:  Vendor=0525 ProdID=a4a7 Rev= 2.01
+S:  Manufacturer=Linux 2.6.8.1 with net2280
+S:  Product=Gadget Serial
+S:  SerialNumber=0
+C:* #Ifs= 2 Cfg#= 2 Atr=c0 MxPwr=  2mA
+I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm
+E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
+I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm
+E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+
+If the host side Linux system is configured properly, the ACM driver
+should be loaded automatically.  The command "lsmod" should show the
+"acm" module is loaded.
+
+
+Installing the Linux Host Generic USB Serial Driver
+---------------------------------------------------
+To use the Linux generic USB serial driver you must configure the
+Linux host side kernel for "Support for Host-side USB", for "USB
+Serial Converter support", and for the "USB Generic Serial Driver".
+
+Once the gadget serial driver is loaded and the USB device connected
+to the Linux host with a USB cable, the host system should recognize
+the gadget serial device.  For example, the command
+
+  cat /proc/bus/usb/devices
+
+should show something like this:
+
+T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  6 Spd=480 MxCh= 0
+D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
+P:  Vendor=0525 ProdID=a4a6 Rev= 2.01
+S:  Manufacturer=Linux 2.6.8.1 with net2280
+S:  Product=Gadget Serial
+S:  SerialNumber=0
+C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
+I:  If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=serial
+E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+
+You must explicitly load the usbserial driver with parameters to
+configure it to recognize the gadget serial device, like this:
+
+  modprobe usbserial vendor=0x0525 product=0xA4A6
+
+If everything is working, usbserial will print a message in the
+system log saying something like "Gadget Serial converter now
+attached to ttyUSB0".
+
+
+Testing with Minicom or HyperTerminal
+-------------------------------------
+Once the gadget serial driver and the host driver are both installed,
+and a USB cable connects the gadget device to the host, you should
+be able to communicate over USB between the gadget and host systems.
+You can use minicom or HyperTerminal to try this out.
+
+On the gadget side run "minicom -s" to configure a new minicom
+session.  Under "Serial port setup" set "/dev/ttygserial" as the
+"Serial Device".  Set baud rate, data bits, parity, and stop bits,
+to 9600, 8, none, and 1--these settings mostly do not matter.
+Under "Modem and dialing" erase all the modem and dialing strings.
+
+On a Linux host running the ACM driver, configure minicom similarly
+but use "/dev/ttyACM0" as the "Serial Device".  (If you have other
+ACM devices connected, change the device name appropriately.)
+
+On a Linux host running the USB generic serial driver, configure
+minicom similarly, but use "/dev/ttyUSB0" as the "Serial Device".
+(If you have other USB serial devices connected, change the device
+name appropriately.)
+
+On a Windows host configure a new HyperTerminal session to use the
+COM port assigned to Gadget Serial.  The "Port Settings" will be
+set automatically when HyperTerminal connects to the gadget serial
+device, so you can leave them set to the default values--these
+settings mostly do not matter.
+
+With minicom configured and running on the gadget side and with
+minicom or HyperTerminal configured and running on the host side,
+you should be able to send data back and forth between the gadget
+side and host side systems.  Anything you type on the terminal
+window on the gadget side should appear in the terminal window on
+the host side and vice versa.
+
+
diff -Nru a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
--- a/drivers/base/firmware_class.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/base/firmware_class.c	2004-11-29 22:05:33 -08:00
@@ -103,7 +103,7 @@
 			"FIRMWARE=%s", fw_priv->fw_id))
 		return -ENOMEM;
 
-	envp[i++] = NULL;
+	envp[i] = NULL;
 
 	return 0;
 }
diff -Nru a/drivers/block/ub.c b/drivers/block/ub.c
--- a/drivers/block/ub.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/block/ub.c	2004-11-29 22:05:33 -08:00
@@ -36,7 +36,7 @@
 #define DRV_NAME "ub"
 #define DEVFS_NAME DRV_NAME
 
-#define UB_MAJOR 125	/* Stolen from Experimental range for a week - XXX */
+#define UB_MAJOR 180
 
 /*
  * Definitions which have to be scattered once we understand the layout better.
@@ -1535,8 +1535,11 @@
 
 	ub_revalidate(sc);
 	/* This is pretty much a long term P3 */
-	printk(KERN_INFO "%s: device %u capacity nsec %ld bsize %u\n",
-	    sc->name, sc->dev->devnum, sc->capacity.nsec, sc->capacity.bsize);
+	if (!atomic_read(&sc->poison)) {		/* Cover sc->dev */
+		printk(KERN_INFO "%s: device %u capacity nsec %ld bsize %u\n",
+		    sc->name, sc->dev->devnum,
+		    sc->capacity.nsec, sc->capacity.bsize);
+	}
 
 	/* XXX Support sector size switching like in sr.c */
 	blk_queue_hardsect_size(disk->queue, sc->capacity.bsize);
diff -Nru a/drivers/usb/Makefile b/drivers/usb/Makefile
--- a/drivers/usb/Makefile	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/Makefile	2004-11-29 22:05:33 -08:00
@@ -38,6 +38,7 @@
 obj-$(CONFIG_USB_OV511)		+= media/
 obj-$(CONFIG_USB_PWC)		+= media/
 obj-$(CONFIG_USB_SE401)		+= media/
+obj-$(CONFIG_USB_SN9C102)	+= media/
 obj-$(CONFIG_USB_STV680)	+= media/
 obj-$(CONFIG_USB_VICAM)		+= media/
 obj-$(CONFIG_USB_W9968CF)	+= media/
diff -Nru a/drivers/usb/core/message.c b/drivers/usb/core/message.c
--- a/drivers/usb/core/message.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/core/message.c	2004-11-29 22:05:33 -08:00
@@ -243,14 +243,16 @@
 		// BUG ();
 	}
 
-	if (urb->status && urb->status != -ECONNRESET) {
+	if (io->status == 0 && urb->status && urb->status != -ECONNRESET) {
 		int		i, found, status;
 
 		io->status = urb->status;
 
 		/* the previous urbs, and this one, completed already.
 		 * unlink pending urbs so they won't rx/tx bad data.
+		 * careful: unlink can sometimes be synchronous...
 		 */
+		spin_unlock (&io->lock);
 		for (i = 0, found = 0; i < io->entries; i++) {
 			if (!io->urbs [i] || !io->urbs [i]->dev)
 				continue;
@@ -263,6 +265,7 @@
 			} else if (urb == io->urbs [i])
 				found = 1;
 		}
+		spin_lock (&io->lock);
 	}
 	urb->dev = NULL;
 
@@ -524,6 +527,7 @@
 		int	i;
 
 		io->status = -ECONNRESET;
+		spin_unlock (&io->lock);
 		for (i = 0; i < io->entries; i++) {
 			int	retval;
 
@@ -534,6 +538,7 @@
 				dev_warn (&io->dev->dev, "%s, unlink --> %d\n",
 					__FUNCTION__, retval);
 		}
+		spin_lock (&io->lock);
 	}
 	spin_unlock_irqrestore (&io->lock, flags);
 }
diff -Nru a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c
--- a/drivers/usb/core/urb.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/core/urb.c	2004-11-29 22:05:33 -08:00
@@ -451,9 +451,11 @@
 		return -EINVAL;
 	if (!(urb->transfer_flags & URB_ASYNC_UNLINK)) {
 #ifdef CONFIG_DEBUG_KERNEL
-		printk(KERN_NOTICE "usb_unlink_urb() is deprecated for "
-			"synchronous unlinks.  Use usb_kill_urb() instead.\n");
-		WARN_ON(1);
+		if (printk_ratelimit()) {
+			printk(KERN_NOTICE "usb_unlink_urb() is deprecated for "
+				"synchronous unlinks.  Use usb_kill_urb() instead.\n");
+			WARN_ON(1);
+		}
 #endif
 		usb_kill_urb(urb);
 		return 0;
diff -Nru a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
--- a/drivers/usb/core/usb.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/core/usb.c	2004-11-29 22:05:33 -08:00
@@ -656,7 +656,7 @@
 			return -ENOMEM;
 	}
 
-	envp[i++] = NULL;
+	envp[i] = NULL;
 
 	return 0;
 }
diff -Nru a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
--- a/drivers/usb/gadget/ether.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/gadget/ether.c	2004-11-29 22:05:33 -08:00
@@ -223,6 +223,10 @@
 #define	DEV_CONFIG_CDC
 #endif
 
+#ifdef CONFIG_USB_GADGET_LH7A40X
+#define DEV_CONFIG_CDC
+#endif
+
 #ifdef CONFIG_USB_GADGET_MQ11XX
 #define	DEV_CONFIG_CDC
 #endif
@@ -235,6 +239,10 @@
 #define	DEV_CONFIG_CDC
 #endif
 
+#ifdef CONFIG_USB_GADGET_PXA27X
+#define DEV_CONFIG_CDC
+#endif
+
 
 /* For CDC-incapable hardware, choose the simple cdc subset.
  * Anything that talks bulk (without notable bugs) can do this.
@@ -247,10 +255,6 @@
 #define	DEV_CONFIG_SUBSET
 #endif
 
-#ifdef CONFIG_USB_GADGET_LH7A40X
-#define DEV_CONFIG_CDC
-#endif
-
 #ifdef CONFIG_USB_GADGET_SA1100
 /* use non-CDC for backwards compatibility */
 #define	DEV_CONFIG_SUBSET
@@ -2321,6 +2325,8 @@
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209);
 	} else if (gadget_is_n9604(gadget)) {
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210);
+	} else if (gadget_is_pxa27x(gadget)) {
+		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211);
 	} else {
 		/* can't assume CDC works.  don't want to default to
 		 * anything less functional on CDC-capable hardware,
diff -Nru a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
--- a/drivers/usb/gadget/file_storage.c	2004-11-29 22:05:34 -08:00
+++ b/drivers/usb/gadget/file_storage.c	2004-11-29 22:05:34 -08:00
@@ -3739,6 +3739,8 @@
 			mod_data.release = 0x0309;
 		else if (gadget_is_n9604(fsg->gadget))
 			mod_data.release = 0x0310;
+		else if (gadget_is_pxa27x(fsg->gadget))
+			mod_data.release = 0x0311;
 		else {
 			WARN(fsg, "controller '%s' not recognized\n",
 				fsg->gadget->name);
diff -Nru a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h
--- a/drivers/usb/gadget/gadget_chips.h	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/gadget/gadget_chips.h	2004-11-29 22:05:33 -08:00
@@ -68,6 +68,12 @@
 #define	gadget_is_n9604(g)	0
 #endif
 
+#ifdef CONFIG_USB_GADGET_PXA27X
+#define	gadget_is_pxa27x(g)	!strcmp("pxa27x_udc", (g)->name)
+#else
+#define	gadget_is_pxa27x(g)	0
+#endif
+
 // CONFIG_USB_GADGET_AT91RM9200
 // CONFIG_USB_GADGET_SX2
 // CONFIG_USB_GADGET_AU1X00
diff -Nru a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c
--- a/drivers/usb/gadget/serial.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/gadget/serial.c	2004-11-29 22:05:33 -08:00
@@ -1529,6 +1529,9 @@
 	} else if (gadget_is_n9604(gadget)) {
 		gs_device_desc.bcdDevice =
 			__constant_cpu_to_le16(GS_VERSION_NUM|0x0009);
+	} else if (gadget_is_pxa27x(gadget)) {
+		gs_device_desc.bcdDevice =
+			__constant_cpu_to_le16(GS_VERSION_NUM|0x0011);
 	} else {
 		printk(KERN_WARNING "gs_bind: controller '%s' not recognized\n",
 			gadget->name);
diff -Nru a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c
--- a/drivers/usb/gadget/zero.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/gadget/zero.c	2004-11-29 22:05:33 -08:00
@@ -1190,6 +1190,8 @@
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209);
 	} else if (gadget_is_n9604(gadget)) {
 		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210);
+	} else if (gadget_is_pxa27x(gadget)) {
+		device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211);
 	} else {
 		/* gadget zero is so simple (for now, no altsettings) that
 		 * it SHOULD NOT have problems with bulk-capable hardware.
diff -Nru a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
--- a/drivers/usb/host/ehci-hcd.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/host/ehci-hcd.c	2004-11-29 22:05:33 -08:00
@@ -379,6 +379,14 @@
 	/* cache this readonly data; minimize PCI reads */
 	ehci->hcs_params = readl (&ehci->caps->hcs_params);
 
+	/* at least the Genesys GL880S needs fixup here */
+	temp = HCS_N_CC(ehci->hcs_params) * HCS_N_PCC(ehci->hcs_params);
+	temp &= 0x0f;
+	if (temp && HCS_N_PORTS(ehci->hcs_params) > temp) {
+		temp |= (ehci->hcs_params & ~0xf);
+		ehci->hcs_params = temp;
+	}
+
 	/* force HC to halt state */
 	return ehci_halt (ehci);
 }
diff -Nru a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
--- a/drivers/usb/host/ehci-hub.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/host/ehci-hub.c	2004-11-29 22:05:33 -08:00
@@ -281,8 +281,11 @@
 	temp = 0x0008;			/* per-port overcurrent reporting */
 	if (HCS_PPC (ehci->hcs_params))
 		temp |= 0x0001;		/* per-port power control */
+#if 0
+// re-enable when we support USB_PORT_FEAT_INDICATOR below.
 	if (HCS_INDICATOR (ehci->hcs_params))
 		temp |= 0x0080;		/* per-port indicators (LEDs) */
+#endif
 	desc->wHubCharacteristics = cpu_to_le16 (temp);
 }
 
diff -Nru a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c
--- a/drivers/usb/host/ehci-q.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/host/ehci-q.c	2004-11-29 22:05:33 -08:00
@@ -175,6 +175,8 @@
 
 static void
 ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb, struct pt_regs *regs)
+__releases(ehci->lock)
+__acquires(ehci->lock)
 {
 	if (likely (urb->hcpriv != 0)) {
 		struct ehci_qh	*qh = (struct ehci_qh *) urb->hcpriv;
diff -Nru a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c
--- a/drivers/usb/host/ohci-q.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/host/ohci-q.c	2004-11-29 22:05:33 -08:00
@@ -35,6 +35,8 @@
  */
 static void
 finish_urb (struct ohci_hcd *ohci, struct urb *urb, struct pt_regs *regs)
+__releases(ohci->lock)
+__acquires(ohci->lock)
 {
 	// ASSERT (urb->hcpriv != 0);
 
diff -Nru a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
--- a/drivers/usb/host/uhci-hcd.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/host/uhci-hcd.c	2004-11-29 22:05:33 -08:00
@@ -1602,7 +1602,10 @@
 	}
 }
 
-static void uhci_finish_urb(struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs)
+static void
+uhci_finish_urb(struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs)
+__releases(uhci->schedule_lock)
+__acquires(uhci->schedule_lock)
 {
 	struct uhci_hcd *uhci = hcd_to_uhci(hcd);
 
diff -Nru a/drivers/usb/input/ati_remote.c b/drivers/usb/input/ati_remote.c
--- a/drivers/usb/input/ati_remote.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/input/ati_remote.c	2004-11-29 22:05:33 -08:00
@@ -102,6 +102,7 @@
 #define ATI_REMOTE_VENDOR_ID 	0x0bc7
 #define ATI_REMOTE_PRODUCT_ID 	0x004
 #define LOLA_REMOTE_PRODUCT_ID 	0x002
+#define MEDION_REMOTE_PRODUCT_ID 0x006
 
 #define DRIVER_VERSION 	        "2.2.1"
 #define DRIVER_AUTHOR           "Torrey Hoffman <thoffman@arnor.net>"
@@ -126,6 +127,7 @@
 static struct usb_device_id ati_remote_table[] = {
 	{ USB_DEVICE(ATI_REMOTE_VENDOR_ID, ATI_REMOTE_PRODUCT_ID) },
 	{ USB_DEVICE(ATI_REMOTE_VENDOR_ID, LOLA_REMOTE_PRODUCT_ID) },
+	{ USB_DEVICE(ATI_REMOTE_VENDOR_ID, MEDION_REMOTE_PRODUCT_ID) },
 	{}	/* Terminating entry */
 };
 
@@ -730,7 +732,8 @@
 	/* See if the offered device matches what we can accept */
 	if ((udev->descriptor.idVendor != ATI_REMOTE_VENDOR_ID) ||
 		( (udev->descriptor.idProduct != ATI_REMOTE_PRODUCT_ID) &&
-		  (udev->descriptor.idProduct != LOLA_REMOTE_PRODUCT_ID) ))
+		  (udev->descriptor.idProduct != LOLA_REMOTE_PRODUCT_ID) &&
+		  (udev->descriptor.idProduct != MEDION_REMOTE_PRODUCT_ID) ))
 		return -ENODEV;
 
 	/* Allocate and clear an ati_remote struct */
diff -Nru a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c
--- a/drivers/usb/input/hid-core.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/input/hid-core.c	2004-11-29 22:05:33 -08:00
@@ -94,7 +94,8 @@
 	memset(field, 0, sizeof(struct hid_field) + usages * sizeof(struct hid_usage)
 		+ values * sizeof(unsigned));
 
-	report->field[report->maxfield++] = field;
+	field->index = report->maxfield++;
+	report->field[field->index] = field;
 	field->usage = (struct hid_usage *)(field + 1);
 	field->value = (unsigned *)(field->usage + usages);
 	field->report = report;
diff -Nru a/drivers/usb/input/touchkitusb.c b/drivers/usb/input/touchkitusb.c
--- a/drivers/usb/input/touchkitusb.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/input/touchkitusb.c	2004-11-29 22:05:33 -08:00
@@ -59,6 +59,10 @@
 #define DRIVER_AUTHOR			"Daniel Ritz <daniel.ritz@gmx.ch>"
 #define DRIVER_DESC			"eGalax TouchKit USB HID Touchscreen Driver"
 
+static int swap_xy;
+module_param(swap_xy, bool, 0644);
+MODULE_PARM_DESC(swap_xy, "If set X and Y axes are swapped.");
+
 struct touchkit_usb {
 	unsigned char *data;
 	dma_addr_t data_dma;
@@ -80,6 +84,7 @@
 {
 	struct touchkit_usb *touchkit = urb->context;
 	int retval;
+	int x, y;
 
 	switch (urb->status) {
 	case 0:
@@ -103,13 +108,19 @@
 		goto exit;
 	}
 
+	if (swap_xy) {
+		y = TOUCHKIT_GET_X(touchkit->data);
+		x = TOUCHKIT_GET_Y(touchkit->data);
+	} else {
+		x = TOUCHKIT_GET_X(touchkit->data);
+		y = TOUCHKIT_GET_Y(touchkit->data);
+	}
+
 	input_regs(&touchkit->input, regs);
 	input_report_key(&touchkit->input, BTN_TOUCH,
 	                 TOUCHKIT_GET_TOUCHED(touchkit->data));
-	input_report_abs(&touchkit->input, ABS_X,
-	                 TOUCHKIT_GET_X(touchkit->data));
-	input_report_abs(&touchkit->input, ABS_Y,
-	                 TOUCHKIT_GET_Y(touchkit->data));
+	input_report_abs(&touchkit->input, ABS_X, x);
+	input_report_abs(&touchkit->input, ABS_Y, y);
 	input_sync(&touchkit->input);
 
 exit:
diff -Nru a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c
--- a/drivers/usb/net/usbnet.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/net/usbnet.c	2004-11-29 22:05:33 -08:00
@@ -527,7 +527,7 @@
 				devdbg(dev, "ax8817x - Link Status is: %d", link);
 			}
 		}
-		usb_submit_urb(data->int_urb, GFP_KERNEL);
+		usb_submit_urb(data->int_urb, GFP_ATOMIC);
 	}
 }
 
diff -Nru a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
--- a/drivers/usb/serial/io_edgeport.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/serial/io_edgeport.c	2004-11-29 22:05:33 -08:00
@@ -2797,9 +2797,12 @@
 static void unicode_to_ascii (char *string, __le16 *unicode, int unicode_size)
 {
 	int i;
-	for (i = 0; i < unicode_size; ++i) {
+
+	if (unicode_size <= 0)
+		return;
+
+	for (i = 0; i < unicode_size; ++i)
 		string[i] = (char)(le16_to_cpu(unicode[i]));
-	}
 	string[unicode_size] = 0x00;
 }
 
diff -Nru a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
--- a/drivers/usb/serial/visor.c	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/serial/visor.c	2004-11-29 22:05:33 -08:00
@@ -494,10 +494,9 @@
 	spin_lock_irqsave(&priv->lock, flags);
 	if (priv->outstanding_urbs > URB_UPPER_LIMIT) {
 		spin_unlock_irqrestore(&priv->lock, flags);
-		dev_dbg(&port->dev, "write limit hit\n");
+		dbg("%s - write limit hit\n", __FUNCTION__);
 		return 0;
 	}
-	++priv->outstanding_urbs;
 	spin_unlock_irqrestore(&priv->lock, flags);
 
 	buffer = kmalloc (count, GFP_ATOMIC);
diff -Nru a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig
--- a/drivers/usb/storage/Kconfig	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/storage/Kconfig	2004-11-29 22:05:33 -08:00
@@ -2,16 +2,23 @@
 # USB Storage driver configuration
 #
 
+comment "NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information"
+
 config USB_STORAGE
 	tristate "USB Mass Storage support"
 	depends on USB
 	select SCSI
 	---help---
 	  Say Y here if you want to connect USB mass storage devices to your
-	  computer's USB port. This is the driver you need for USB floppy drives,
-	  USB hard disks, USB tape drives and USB CD-ROMs, along with
-	  similar devices. This driver may also be used for some cameras and
-	  card readers.
+	  computer's USB port. This is the driver you need for USB
+	  floppy drives, USB hard disks, USB tape drives, USB CD-ROMs,
+	  USB flash devices, and memory sticks, along with
+	  similar devices. This driver may also be used for some cameras
+	  and card readers.
+
+	  This option 'selects' (turns on, enables) 'SCSI', but you
+	  probably also need 'SCSI device support: SCSI disk support'
+	  (BLK_DEV_SD) for most USB storage devices.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called usb-storage.
diff -Nru a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
--- a/drivers/usb/storage/unusual_devs.h	2004-11-29 22:05:33 -08:00
+++ b/drivers/usb/storage/unusual_devs.h	2004-11-29 22:05:33 -08:00
@@ -274,6 +274,14 @@
 		US_SC_DEVICE, US_PR_DEVICE, NULL,
 		US_FL_IGNORE_RESIDUE ),
 
+/* Another Yakumo camera.
+ * Reported by Michele Alzetta <michele.alzetta@aliceposta.it> */
+UNUSUAL_DEV(  0x052b, 0x1804, 0x0100, 0x0100,
+		"Tekom Technologies, Inc",
+		"300_CAMERA",
+		US_SC_DEVICE, US_PR_DEVICE, NULL,
+		US_FL_IGNORE_RESIDUE ),
+
 /* Reported by Iacopo Spalletti <avvisi@spalletti.it> */
 UNUSUAL_DEV(  0x052b, 0x1807, 0x0100, 0x0100,
 		"Tekom Technologies, Inc",
