Messages in this thread | | | Date | Tue, 21 May 2002 21:33:03 -0700 | From | David Brownell <> | Subject | Re: [linux-usb-devel] Re: What to do with all of the USB UHCI drivers in the kernel ? |
| |
Maksim (Max) Krasnyanskiy wrote: > > One-shot interrupt transfers are broken in *-hcd drivers. core/hcd.c > returns EINVAL if urb->interval==0.
Hmm, eventually that automagic resubmit model needs to go away, in favor of a straight queued transfer model -- where in effect there are _only_ "one shot" transfers, which for interrupts are just going to hang out on endpoint queues that are properly scheduled. That's needed to make interrupt reads and writes have the same transfer model ... right now interrupt OUT transfers don't work very well. (And they'll be the most common type when we eventually get those device/target side driver APIs sorted.)
Meanwhile, I suppose I can see wanting access to that UHCI-ism. However your patch would do that wrong, since it should only apply to interrupt transfers.
> usb-uhci-hcd has to be fixed. > btw It tries to round interval value even thought it's done by hcd.c
That was one of my quick-review comments too. It doesn't hurt, it's just one of several URB sanity-check/preprocessing steps that doesn't need to be in every driver.
> On a side note. Why are URBs still not SLABified ?
Hasn't seemed to be necessary. kmalloc() is slabified already, so it's not clear that a control/bulk/interrupt URB pool shared between drivers -- size, maybe a handful -- would be better than sharing that same memory with other kernel code.
- Dave
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |