• Serge Semin's avatar
    tty: max310x: Simplify tx-work item code · 2987590b
    Serge Semin authored
    Since cmwq introduction in the kernel, workqueues've been turned into
    non-reentrant execution contexts [1]. It means any work item is
    guaranteed to be executed by at most one worker system-wide at any
    given time. Since tx-handler max310x_handle_tx() is called by a
    single work item we don't need it to be self-protected by the mutex.
    We also don't need to check the tx work item pending state before
    scheduling it (which in the first place was racy btw), since cmwq will
    make sure to reschedule the item if it wasn't pending at the moment of
    schedule_work() call.
    
    [1] Documentation/core-api/workqueue.rst
    Signed-off-by: default avatarSerge Semin <fancer.lancer@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2987590b
max310x.c 40.8 KB