From: Greg KH To: torvalds@transmeta.com Cc: linux-usb-devel@lists.sourceforge.net Subject: [BK PATCH] USB changes for 2.5.26 Pull from: http://linuxusb.bkbits.net/linus-2.5 Documentation/usb/ov511.txt | 25 drivers/usb/class/audio.c | 38 drivers/usb/class/bluetty.c | 56 drivers/usb/class/cdc-acm.c | 60 drivers/usb/class/printer.c | 29 drivers/usb/class/usb-midi.c | 36 drivers/usb/core/devices.c | 22 drivers/usb/core/devio.c | 62 drivers/usb/core/drivers.c | 6 drivers/usb/core/file.c | 11 drivers/usb/core/hcd.c | 10 drivers/usb/core/hub.c | 14 drivers/usb/core/inode.c | 38 drivers/usb/core/usb.c | 195 +- drivers/usb/host/Config.in | 1 drivers/usb/host/ehci-hcd.c | 56 drivers/usb/host/hc_simple.c | 10 drivers/usb/host/Makefile | 2 drivers/usb/host/ohci-hcd.c | 2 drivers/usb/host/ohci-pci.c | 56 drivers/usb/host/ohci-sa1111.c | 26 drivers/usb/host/uhci-debug.c | 8 drivers/usb/host/uhci-hcd.c | 56 drivers/usb/host/usb-ohci.c | 2537 ----------------------------------- drivers/usb/host/usb-ohci.h | 648 -------- drivers/usb/host/usb-ohci-pci.c | 456 ------ drivers/usb/host/usb-ohci-sa1111.c | 153 -- drivers/usb/image/hpusbscsi.c | 8 drivers/usb/image/mdc800.c | 20 drivers/usb/image/microtek.c | 40 drivers/usb/image/scanner.c | 18 drivers/usb/input/aiptek.c | 8 drivers/usb/input/hid-core.c | 8 drivers/usb/input/hiddev.c | 20 drivers/usb/input/powermate.c | 8 drivers/usb/input/usbkbd.c | 8 drivers/usb/input/usbmouse.c | 8 drivers/usb/input/wacom.c | 8 drivers/usb/input/xpad.c | 8 drivers/usb/media/dabusb.c | 20 drivers/usb/media/dsbr100.c | 28 drivers/usb/media/ov511.c | 511 ++----- drivers/usb/media/ov511.h | 8 drivers/usb/media/pwc-if.c | 59 drivers/usb/media/se401.c | 26 drivers/usb/media/stv680.c | 32 drivers/usb/media/usbvideo.c | 22 drivers/usb/media/vicam.c | 34 drivers/usb/misc/auerswald.c | 22 drivers/usb/misc/brlvger.c | 26 drivers/usb/misc/rio500.c | 18 drivers/usb/misc/tiglusb.c | 24 drivers/usb/misc/uss720.c | 8 drivers/usb/net/catc.c | 8 drivers/usb/net/cdc-ether.c | 8 drivers/usb/net/kaweth.c | 10 drivers/usb/net/pegasus.c | 8 drivers/usb/net/rtl8150.c | 8 drivers/usb/net/usbnet.c | 118 - drivers/usb/serial/belkin_sa.c | 30 drivers/usb/serial/cyberjack.c | 30 drivers/usb/serial/digi_acceleport.c | 84 - drivers/usb/serial/empeg.c | 40 drivers/usb/serial/ftdi_sio.c | 72 drivers/usb/serial/ipaq.c | 32 drivers/usb/serial/ir-usb.c | 28 drivers/usb/serial/keyspan.c | 36 drivers/usb/serial/keyspan_pda.c | 74 - drivers/usb/serial/kl5kusb105.c | 40 drivers/usb/serial/mct_u232.c | 34 drivers/usb/serial/omninet.c | 28 drivers/usb/serial/pl2303.c | 36 drivers/usb/serial/safe_serial.c | 22 drivers/usb/serial/usbserial.c | 136 - drivers/usb/serial/visor.c | 80 - drivers/usb/serial/whiteheat.c | 46 drivers/usb/storage/scsiglue.c | 38 drivers/usb/storage/usb.c | 18 drivers/usb/usb-skeleton.c | 20 include/linux/usb.h | 4 80 files changed, 1417 insertions(+), 5284 deletions(-) ------ ChangeSet@1.744, 2002-07-19 10:46:43-07:00, stuartm@connecttech.com [PATCH] USB: usbserial.c fixup create_serial, get_free_serial and usb_serial_probe all do pretty much the same thing. I'd like to reorg this into create_serial does all the alloc and most of the setup, and get_free_serial just fills in the MAGIC. There's currently a memory leak: if create_serial is called at probe time or calc_ports time, and then get_free_serial returns NULL because the table has no entries left, that usb_serial struct is leaked. get_free_serial doesn't check properly for free slots. The middle loop doesn't terminate when the end of the table is reached, although the assignment loop later does. The effect is that stuff past the end of the table is allowed to decide if there's free space or not, and occasionally it'll say "yes" and then the assignment loop will only allocate slots up to the end of the table, preventing memory scribbling. I haven't fixed any of this just yet because I'm not sure what the intended behaviour is. Should get_free_serial allocate as many slots as possible, or just be all or nothing? Similarly, I don't see a problem with calling create_serial early in usb_serial_probe, and removing the alloc code from get_free_serial; this would fix the leak. Ah heck, here's a patch. This is what I think things should look like. get_free_serial is all or none, the leak is fixed and create_serial does all the allocation. drivers/usb/serial/usbserial.c | 46 ++++++++++++----------------------------- 1 files changed, 14 insertions(+), 32 deletions(-) ------ ChangeSet@1.743, 2002-07-19 09:44:18-07:00, rusty@rustcorp.com.au [PATCH] drivers/usb/* designated initializer rework Name: Designated initializers for drivers/usb Author: Rusty Russell Status: Trivial D: The old form of designated initializers are obsolete: we need to D: replace them with the ISO C forms before 2.6. Gcc has always supported D: both forms anyway. drivers/usb/class/audio.c | 38 +++++++------- drivers/usb/class/bluetty.c | 56 ++++++++++----------- drivers/usb/class/cdc-acm.c | 60 +++++++++++----------- drivers/usb/class/printer.c | 24 ++++----- drivers/usb/class/usb-midi.c | 36 ++++++------- drivers/usb/core/devices.c | 10 +-- drivers/usb/core/devio.c | 18 +++--- drivers/usb/core/drivers.c | 4 - drivers/usb/core/file.c | 4 - drivers/usb/core/hcd.c | 10 +-- drivers/usb/core/hub.c | 10 +-- drivers/usb/core/inode.c | 38 +++++++------- drivers/usb/core/usb.c | 32 ++++++------ drivers/usb/host/ehci-hcd.c | 56 ++++++++++----------- drivers/usb/host/hc_simple.c | 10 +-- drivers/usb/host/ohci-pci.c | 56 ++++++++++----------- drivers/usb/host/ohci-sa1111.c | 26 ++++----- drivers/usb/host/uhci-debug.c | 8 +-- drivers/usb/host/uhci-hcd.c | 56 ++++++++++----------- drivers/usb/image/hpusbscsi.c | 8 +-- drivers/usb/image/mdc800.c | 20 +++---- drivers/usb/image/microtek.c | 40 +++++++-------- drivers/usb/image/scanner.c | 18 +++--- drivers/usb/input/aiptek.c | 8 +-- drivers/usb/input/hid-core.c | 8 +-- drivers/usb/input/hiddev.c | 20 +++---- drivers/usb/input/powermate.c | 8 +-- drivers/usb/input/usbkbd.c | 8 +-- drivers/usb/input/usbmouse.c | 8 +-- drivers/usb/input/wacom.c | 8 +-- drivers/usb/input/xpad.c | 8 +-- drivers/usb/media/dabusb.c | 20 +++---- drivers/usb/media/dsbr100.c | 28 +++++----- drivers/usb/media/ov511.c | 36 ++++++------- drivers/usb/media/pwc-if.c | 34 ++++++------ drivers/usb/media/se401.c | 26 ++++----- drivers/usb/media/stv680.c | 32 ++++++------ drivers/usb/media/usbvideo.c | 22 ++++---- drivers/usb/media/vicam.c | 34 ++++++------ drivers/usb/misc/auerswald.c | 22 ++++---- drivers/usb/misc/brlvger.c | 26 ++++----- drivers/usb/misc/rio500.c | 18 +++--- drivers/usb/misc/tiglusb.c | 24 ++++----- drivers/usb/misc/uss720.c | 8 +-- drivers/usb/net/catc.c | 8 +-- drivers/usb/net/cdc-ether.c | 8 +-- drivers/usb/net/kaweth.c | 10 +-- drivers/usb/net/pegasus.c | 8 +-- drivers/usb/net/rtl8150.c | 8 +-- drivers/usb/net/usbnet.c | 92 +++++++++++++++++------------------ drivers/usb/serial/belkin_sa.c | 30 +++++------ drivers/usb/serial/cyberjack.c | 30 +++++------ drivers/usb/serial/digi_acceleport.c | 84 +++++++++++++++---------------- drivers/usb/serial/empeg.c | 40 +++++++-------- drivers/usb/serial/ftdi_sio.c | 72 +++++++++++++-------------- drivers/usb/serial/ipaq.c | 32 ++++++------ drivers/usb/serial/ir-usb.c | 28 +++++----- drivers/usb/serial/keyspan.c | 36 ++++++------- drivers/usb/serial/keyspan_pda.c | 74 ++++++++++++++-------------- drivers/usb/serial/kl5kusb105.c | 40 +++++++-------- drivers/usb/serial/mct_u232.c | 34 ++++++------ drivers/usb/serial/omninet.c | 28 +++++----- drivers/usb/serial/pl2303.c | 36 ++++++------- drivers/usb/serial/safe_serial.c | 22 ++++---- drivers/usb/serial/usbserial.c | 90 +++++++++++++++++----------------- drivers/usb/serial/visor.c | 80 +++++++++++++++--------------- drivers/usb/serial/whiteheat.c | 46 ++++++++--------- drivers/usb/storage/scsiglue.c | 38 +++++++------- drivers/usb/storage/usb.c | 18 +++--- drivers/usb/usb-skeleton.c | 20 +++---- 70 files changed, 1028 insertions(+), 1028 deletions(-) ------ ChangeSet@1.742, 2002-07-18 16:08:18-07:00, david-b@pacbell.net [PATCH] USB: usbnet queuing - Enables use of bulk queueing - Avoids stopping the tx queue until it's really needed If enabling bulk queuing causes any problems in any of the HCDs, we'll want to find out ... :) drivers/usb/net/usbnet.c | 26 ++++++++++---------------- 1 files changed, 10 insertions(+), 16 deletions(-) ------ ChangeSet@1.741, 2002-07-18 15:53:30-07:00, lists@mdiehl.de [PATCH] USB: patch to make USB_ZERO_PACKET work in ohci-hcd.c drivers/usb/host/ohci-hcd.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.740, 2002-07-18 15:42:49-07:00, oliver@neukum.name [PATCH] USB: lots of locking and other SMP race fixes This is a merge of a bunch of SMP and locking fixes for the USB code that Oliver has sent me (greg k-h) over the past few weeks. drivers/usb/class/printer.c | 5 + drivers/usb/core/devices.c | 12 ++- drivers/usb/core/devio.c | 44 +++++++---- drivers/usb/core/drivers.c | 2 drivers/usb/core/file.c | 7 + drivers/usb/core/hub.c | 4 - drivers/usb/core/usb.c | 163 +++++++++++++++++++++++++++++++------------- drivers/usb/media/pwc-if.c | 25 +++--- include/linux/usb.h | 4 + 9 files changed, 181 insertions(+), 85 deletions(-) ------ ChangeSet@1.739, 2002-07-18 15:30:52-07:00, mark@alpha.dyndns.org [PATCH] USB: ov511 1.61 for 2.5.25 Update ov511 driver to version 1.61: - Remove kernel I2C support and related TV tuner code. It will be reimplemented correctly in the 2.x driver series - Fix warnings when compiling without procfs support - Fix reg_r() debug message (was printing wrong values) - Fix printing of hex values - Fix bogus error handling in ov51x_v4l_open() - Improve definition of unit_video module param - Eliminate trailing whitespace, and other code cleanups - Remove documentation of obsolete module params Documentation/usb/ov511.txt | 25 -- drivers/usb/media/ov511.c | 475 ++++++++++++++++---------------------------- drivers/usb/media/ov511.h | 8 3 files changed, 183 insertions(+), 325 deletions(-) ------ ChangeSet@1.738, 2002-07-18 14:22:57-07:00, greg@kroah.com USB: removed the usb-ohci driver, as it is no longer being used. drivers/usb/host/usb-ohci-pci.c | 456 ------ drivers/usb/host/usb-ohci-sa1111.c | 153 -- drivers/usb/host/usb-ohci.c | 2537 ------------------------------------- drivers/usb/host/usb-ohci.h | 648 --------- drivers/usb/host/Config.in | 1 drivers/usb/host/Makefile | 2 6 files changed, 3797 deletions(-) ------