diff options
author | Ajay Kumar Gupta <ajay.gupta@ti.com> | 2008-10-29 15:10:35 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-11-13 14:45:01 -0800 |
commit | 23d15e070c2fe5d341ca04275f6ea1b5a5fcb26f (patch) | |
tree | 9fa6808984c70ade8959f5ac766c1b32d9e629b1 /drivers/usb/musb/musb_host.h | |
parent | b60c72abdbd44ed2a63fa80455d0b7f18ce76d2b (diff) | |
download | blackbird-op-linux-23d15e070c2fe5d341ca04275f6ea1b5a5fcb26f.tar.gz blackbird-op-linux-23d15e070c2fe5d341ca04275f6ea1b5a5fcb26f.zip |
usb: musb: fix BULK request on different available endpoints
Fixes co-working issue of usb serial device with usb/net devices while
oter endpoints are free and can be used.This patch implements the policy
that if endpoint resources are available then different BULK request goes
to different endpoint otherwise they are multiplexed to one reserved
endpoint as currently done.
Switch statement case is reordered in musb_giveback() to take care of
bulk request both in multiplex scenario and otherwise.
NAK limit scheme has to be added for multiplexed BULK request scenario
to avoid endpoint starvation due to usb/net devices.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/musb/musb_host.h')
-rw-r--r-- | drivers/usb/musb/musb_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_host.h b/drivers/usb/musb/musb_host.h index 77bcdb9d5b32..0b7fbcd21963 100644 --- a/drivers/usb/musb/musb_host.h +++ b/drivers/usb/musb/musb_host.h @@ -53,6 +53,7 @@ struct musb_qh { struct list_head ring; /* of musb_qh */ /* struct musb_qh *next; */ /* for periodic tree */ + u8 mux; /* qh multiplexed to hw_ep */ unsigned offset; /* in urb->transfer_buffer */ unsigned segsize; /* current xfer fragment */ |