RE: Updated 2.4 TODO List

From: Dunlap, Randy (randy.dunlap@intel.com)
Date: Mon Oct 09 2000 - 18:17:01 EST


Hi Ted,

Here's an updated USB 2.4 TODO list.

The new entries (changes) are marked with '+'.

~Randy

USB Status/Problems in 2.4.0-test9
2000-October-09
====================================================

1. Should [already] Be Fixed

. hid joystick handling (patch from Vojtech) (2.4.0.9.4)
. cpia_usb module doesn't handle "no bandwidth" returns (OOPS) (2.4.0.9.4)
. microtek memory handling (patch from Oliver Neukum) (2.4.0.9.4)
+ hotplug (PNP) and module autoloader support
+ OHCI root-hub-timer does not restart on resume {CRITICAL}
  (Paul Mackerras) (2.4.0-test9)
+ add bandwidth allocation support to usb-uhci HCD (2.4.0-test9)
+ usb-ohci needs to null urb->dev to avoid various reboots/hangs/oopses
{CRITICAL}
  (David Brownell; david-b@pacbell.net) (2.4.0-test9)
+ speed up device enumeration (hub driver has large delays in it)

2. Capable of corrupting your FS

. Problems with USB storage drives (ORB, maybe Zip) during APM sleep/suspend
. OOPS in usb-storage from the error-recovery handler. {CRITICAL}
  (Matthew Dharm; mdharm-usb@one-eyed-alien.net)

3. Security

4. Boot-Time Failures

5. Compile-Time Failures

6. In Progress

7. Obvious Projects for People (well if you have the hardware..)

8. Fix Exists But Isn't Merged

9. To Do

. race conditions on devices in use and being unplugged
. SANE backend can't communicate to its scanner (sometimes, some scanners)
. OHCI memory corruption problem
. Fix differences in UHCI and OHCI HCD behaviors/semantics:
. OHCI doesn't do URB timeouts
. OHCI always does BULK_QUEUE (as David.B said, Bulk queueing is a
    UHCI notion; not needed in OHCI; fix not needed)
. Misc locking problems
  - fix MOD_INC races in plusb.c and uss720.c
  - fix concurrent read/write and other SMP like bugs in:
        acm.c
        printer.c
        scanner.c
        uss720.c
        serial/ftdi_sio.c
        serial/omninet.c
. fix USB_QUEUE_BULK problem in uhci.c (oopsen after a while) {CRITICAL}
. system hang with USB audio driver {CRITICAL}
  (David Woodhouse; dwmw2@infradead.org)
. usb-ohci needs to null urb->dev to avoid various reboots/hangs/oopses
{CRITICAL}
  (David Brownell; david-b@pacbell.net)
. printer Device ID string should not be static; printers can update it
. Fix serial/omninet.c to not require a small mtu setting in order to
  get a PPP link to work properly (as reported by Bernhard Reiter)
. pegasus: avoid warning spewage on disconnect
. OHCI optional zero length packet (USB_DISABLE_SPD at send)
. consistent short packet handling OHCI/UHCI (including 0-length packets)
(Roman)
. consistent URB next pointer handling by OHCI/UHCI (Roman)
. booting with USB compiled into kernel causes a lot of syslog entries
  as the root hubs are probed by all drivers (this is especially
  obnoxious as the usb-serial drivers start up)
. pegasus driver locks up on slow OHCI machine; sometimes cannot be
  rmmod-ed (Cyrille Chepelov; chepelov@calixo.net)
+ fix setting urb->dev in printer, acm, bluetooth, all serial drivers
  (Greg KH) {CRITICAL}
+ fix usbdevfs memset() on IOC_WRITE (Dan Streetman) {CRITICAL}
+ fix setting urb->dev in plusb, wacom, mdc800) (Greg KH) {CRITICAL}
+ fix usb-uhci setting urb->dev = NULL at correct places only {CRITICAL}
+ fix hub driver allocation/usage of portstr & tempstr (D. Brownell)
  (causes oops and memory corruptoin) {CRITICAL}
+ USB mouse stopped working (2.4.0-test9) (Gunther.Mayer@t-online.de)
+ oops on boot with 2.4.0-test9, usb-uhci, pegasus (in process_transfer)
  (frank@unternet.org)
+ pegasus driver version 0.4.12: update to work with HCD changes; fix module
  use counting & dev refcounting; fix to work with dhcpd (Petko) {CRITICAL}

10. To Do But Non-Showstopper

. acm (modem) driver is slow compared to Windows drivers for same modems
  (maybe an HCD problem, not acm driver, or acm should use bulk queueing)
. add devfs support to drivers that don't have it
. add DocBook info to main USB driver interfaces (usb.c)
. Printer stalls at random places when printing large graphics.
  When printing big pictures (10..50 meg) the printer stalls halfway. The
  point where it stalls is random but the fact that it stalls is
  reproducable. Printing the same pictures using the parallel interface
  is ok. Printing text is ok anyway.
  Frank van Maarseveen: F.vanMaarseveen@inter.NL.net
. Misc locking problems: fix concurrent read/write and other SMP-like
  bugs in:
        bluetooth.c
        mdc800.c
        rio800.c
        serial/keyspan.c
        serial/whiteheat.c
. fix usb_unlink_urb() bug when called with an urb that was used on a
  device that is no longer registered in the USB system.
. control pipe locking (mutual exclusion)
. use pci_alloc_consistent throughout (mostly OHCI; some people want
  UHCI also)

11. To Check

12. Probably Post 2.4

. spread out interrupt frames for devices that use the same
  interrupt period (interval)
. add USB 2.0 EHCI HCD

~~~~~Fixed

. usb-uhci not use set PCI Latency Timer register to 0
. printer driver aborts on out-of-paper or off-line conditions
  instead of retrying until the condition is fixed
. usb-uhci SMP spinlock/bad pointer crash
. cpia camera driver with OHCI HCD locks up or fails
. pegasus (ethernet) driver crashes often
+ Only uhci.c does EARLY_COMPLETE (drop EARLY_COMPLETE ?) (yes, dropped)
+ cpia_usb module doesn't handle "no bandwidth" returns (OOPS) {CRITICAL}
  (I have patches for this that I will submit. -- rdunlap)
+ hid joystick handling (patch from Vojtech) {CRITICAL}
+ microtek memory handling (patch from Oliver Neukum) {CRITICAL}

~~~~~Probably Hardware Bugs

. USB hangs on APM suspend on some machines (fixed more most; Alan
  has one still that fails but the BIOS has 'issues')

###

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:14 EST