• Robert Baldyga's avatar
    usb: gadget: f_fs: remove redundant ffs_data_get() · 2bea0ce7
    Robert Baldyga authored
    commit a3058a5d upstream.
    
    During FunctionFS bind, ffs_data_get() function was called twice
    (in functionfs_bind() and in ffs_do_functionfs_bind()), while on unbind
    ffs_data_put() was called once (in functionfs_unbind() function).
    In result refcount never reached value 0, and ffs memory resources has
    been never released.
    
    Since ffs_data_get() call in ffs_do_functionfs_bind() is redundant
    and not neccessary, we remove it to have equal number of gets ans puts,
    and free allocated memory after refcount reach 0.
    
    Fixes: 5920cda6 (usb: gadget: FunctionFS: convert to new function
    	interface with backward compatibility)
    Signed-off-by: default avatarRobert Baldyga <r.baldyga@samsung.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    [ luis: backported to 3.16: file rename:
      drivers/usb/gadget/function/f_fs.c -> drivers/usb/gadget/f_fs.c ]
    Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
    2bea0ce7
f_fs.c 66.2 KB