This patch is the result of that discussion a short while back
to fix the "hub driver polls too quickly at high speed" bug.

    - redefines "interval" of usb_fill_int_urb() to be what
      the endpoint descriptor returns, and transparently
      does the log-to-linear conversion if it's high speed

    - (most of the patch by volume!!) moves declarations
      forward so testing dev->speed there will compile.

No driver changes were needed -- most drivers pass the
endpoint bInterval value already, and those that don't are
not dealing with high speed device quirks.

- Dave

p.s. Includes an unrelated one-liner:  deletes export of
    usb_inc_dev_use() so it now shows up in kernel doc.
    Minor oversight in an earlier patch.

p.p.s. Driver-visible API change in 2.5.10:  if you use
    fops, you MUST set num_minors ... listing in the
    /proc/bus/usb/drivers file happens even if there's
    no way the driver will be accessible. I think it'd be
    better to fail the registration if num_minors is zero
    for a driver using fops.


Attachment: poll-0425.patch
Description: Binary data

Reply via email to