lkml.org 
[lkml]   [2014]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13 062/187] drm/tilcdc: panel: fix dangling sysfs connector node
    Date
    3.13.11.7 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: =?UTF-8?q?Guido=20Mart=C3=ADnez?= <guido@vanguardiasur.com.ar>

    commit e396900e649b0af31161634d87fe37076f46c12b upstream.

    Add a drm_sysfs_connector_remove call when we destroy the panel to make
    sure the connector node in sysfs gets deleted.

    This is required for proper unload and re-load of this driver as a
    module. Without this, we would get a warning at re-load time like so:

    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 824 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74()
    sysfs: cannot create duplicate filename '/class/drm/card0-LVDS-1'
    Modules linked in: [...]
    CPU: 0 PID: 824 Comm: modprobe Not tainted 3.15.0-rc4-00027-g6484f96-dirty #81
    [<c0013bb8>] (unwind_backtrace) from [<c0011824>] (show_stack+0x10/0x14)
    [<c0011824>] (show_stack) from [<c0034e8c>] (warn_slowpath_common+0x68/0x88)
    [<c0034e8c>] (warn_slowpath_common) from [<c0034edc>] (warn_slowpath_fmt+0x30/0x40)
    [<c0034edc>] (warn_slowpath_fmt) from [<c01243f4>] (sysfs_warn_dup+0x54/0x74)
    [<c01243f4>] (sysfs_warn_dup) from [<c0124708>] (sysfs_do_create_link_sd.isra.2+0xb0/0xb8)
    [<c0124708>] (sysfs_do_create_link_sd.isra.2) from [<c02ae37c>] (device_add+0x338/0x520)
    [<c02ae37c>] (device_add) from [<c02ae6e8>] (device_create_groups_vargs+0xa0/0xc4)
    [<c02ae6e8>] (device_create_groups_vargs) from [<c02ae758>] (device_create+0x24/0x2c)
    [<c02ae758>] (device_create) from [<c029b4ec>] (drm_sysfs_connector_add+0x64/0x204)
    [<c029b4ec>] (drm_sysfs_connector_add) from [<bf0b1fec>] (panel_modeset_init+0xb8/0x134 [tilcdc])
    [<bf0b1fec>] (panel_modeset_init [tilcdc]) from [<bf0b2bf0>] (tilcdc_load+0x214/0x4c0 [tilcdc])
    [<bf0b2bf0>] (tilcdc_load [tilcdc]) from [<c029955c>] (drm_dev_register+0xa4/0x104)
    [ .. snip .. ]
    ---[ end trace b2d09cd9578b0497 ]---
    [drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

    Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar>
    Tested-by: Darren Etheridge <detheridge@ti.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
    index 86c6732..1943b2f 100644
    --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
    +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
    @@ -151,6 +151,7 @@ struct panel_connector {
    static void panel_connector_destroy(struct drm_connector *connector)
    {
    struct panel_connector *panel_connector = to_panel_connector(connector);
    + drm_sysfs_connector_remove(connector);
    drm_connector_cleanup(connector);
    kfree(panel_connector);
    }
    --
    1.9.1
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2014-09-16 01:21    [W:4.055 / U:1.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site