• David Fries's avatar
    w1: fixup search to support abort from netlink · 42105698
    David Fries authored
    Before 63706172 "rework kthread_stop()" kthread_should_stop()
    always returned false when called from a non-kthread task, after it
    would oops as a non-kthread didn't have that structure and netlink was
    calling search from a thread which wasn't a kthread.  9d1817ca
    "w1: fix oops when w1_search is called from netlink connector",
    modified the code to avoid calling kthread_stop from a netlink thread.
    
    Introduce a w1_master flag and bit W1_ABORT_SEARCH to identify abort
    to cleanly support both kthread and netlink search abort.  A search
    can take seconds to run, so it is important to abort early if the
    hardware is removed in the middle of a search.
    Signed-off-by: default avatarDavid Fries <David@Fries.net>
    Acked-by: default avatarEvgeniy Polyakov <zbr@ioremap.net>
    Cc: Marcin Jurkowski <marcin1j@gmail.com>
    Cc: Josh Boyer <jwboyer@gmail.com>
    Cc: Sven Geggus <lists@fuchsschwanzdomain.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    42105698
w1.c 26.2 KB