• Lukasz Majewski's avatar
    usb:composite:fix Provide function data when addressing device with only one interface · f7b4162e
    Lukasz Majewski authored
    
    
    This commit fixes problems with some non-standard requests send with
    device address instead of interface address (bmRequestType.Receipent field).
    
    This happens with dfu-util (debian version: 0.5), which address non standard
    requests (like w_value=0x21 and bRequest=GET_DESCRIPTOR) to device.
    Without this fix, the above request is STALLED, and hence causes dfu-util
    to assume some standard configuration (packet size = 1024B instead of 4096B)
    In turn it displays following errors:
    Error obtaining DFU functional descriptor
    Warning: Assuming DFU version 1.0
    Warning: Transfer size can not be detected
    ...
    Warning: Trying default transfer size 1024
    
    This fix allows passing non-standard request to function setup code, where
    it shall be handled.
    
    Tested at: 	Trats (exynos4210)
    Tested with:DFU and UMS gadgets
    Signed-off-by: default avatarLukasz Majewski <l.majewski@samsung.com>
    Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
    f7b4162e
composite.c 29 KB