lkml.org 
[lkml]   [2020]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 36/48] driver core: Remove the link if there is no driver with AUTO flag
    Date
    From: Yong Wu <yong.wu@mediatek.com>

    commit 0fe6f7874d467456da6f6a221dd92499a3ab1780 upstream.

    DL_FLAG_AUTOREMOVE_CONSUMER/SUPPLIER means "Remove the link
    automatically on consumer/supplier driver unbind", that means we should
    remove whole the device_link when there is no this driver no matter what
    the ref_count of the link is.

    CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Yong Wu <yong.wu@mediatek.com>
    Signed-off-by: Saravana Kannan <saravanak@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/base/core.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/base/core.c
    +++ b/drivers/base/core.c
    @@ -546,7 +546,7 @@ static void __device_links_no_driver(str
    continue;

    if (link->flags & DL_FLAG_AUTOREMOVE_CONSUMER)
    - kref_put(&link->kref, __device_link_del);
    + __device_link_del(&link->kref);
    else if (link->status != DL_STATE_SUPPLIER_UNBIND)
    WRITE_ONCE(link->status, DL_STATE_AVAILABLE);
    }
    @@ -591,7 +591,7 @@ void device_links_driver_cleanup(struct
    */
    if (link->status == DL_STATE_SUPPLIER_UNBIND &&
    link->flags & DL_FLAG_AUTOREMOVE_SUPPLIER)
    - kref_put(&link->kref, __device_link_del);
    + __device_link_del(&link->kref);

    WRITE_ONCE(link->status, DL_STATE_DORMANT);
    }

    \
     
     \ /
      Last update: 2020-03-19 14:22    [W:4.549 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site