• Ming Lei's avatar
    USB: musb: gadget: fix MUSB_TXMAXP and MUSB_RXMAXP configuration · 31c9909b
    Ming Lei authored
    Commit 9f445cb2[USB: musb: disable
    double buffering for older RTL versions] tries to disable double
    buffer mode by writing endpoint hw max packet size to TXMAP/RXMAP.
    
    First the approach can break full speed and cause overflow problems.
    We should always set those registers with the actual max packet size
    from endpoint descriptor.
    
    Second, the problem describe by commit 9f445cb2
    was caused by musb gadget driver; nothing to do with RTL revision as
    originaly suspected.
    
    The real fix to the problem is to always use actual max packet
    size from endpoint descriptor to config TXMAP/RXMAP registers.
    
    Cc: Cliff Cai <cliff.cai@analog.com>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Cc: Anand Gadiyar <gadiyar@ti.com>
    Cc: Mike Frysinger <vapier@gentoo.org>
    Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Cc: stable@kernel.org
    Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    31c9909b
musb_gadget.c 53.9 KB