• Daniel Mack's avatar
    usb: musb: dsps: move debugfs_remove_recursive() · 0fca91b8
    Daniel Mack authored
    When the platform initialization fails due to missing resources, it will
    return -EPROBE_DEFER after dsps_musb_init() has been called.
    
    dsps_musb_init() calls dsps_musb_dbg_init() to allocate the debugfs
    nodes. At a later point in time, the probe will be retried, and
    dsps_musb_dbg_init() will be called again. debugfs_create_dir() will
    fail this time, as the node already exists, and so the entire device
    probe will fail with -ENOMEM.
    
    Fix this by moving debugfs_remove_recursive() from dsps_remove() to the
    plaform's exit function, so it will be cleanly torn down when the probe
    fails. It also feels more natural this way, as .exit is the counterpart
    to .init.
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    0fca91b8
musb_dsps.c 21.2 KB