usb: ueagle-atm: Use wait_event_freezable_timeout() in uea_wait()
authorKevin Hao <haokexin@gmail.com>
Mon, 18 Dec 2023 07:47:30 +0000 (15:47 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Jan 2024 14:57:29 +0000 (15:57 +0100)
A freezable kernel thread can enter frozen state during freezing by
either calling try_to_freeze() or using wait_event_freezable() and its
variants. So for the following snippet of code in a kernel thread loop:
  wait_event_interruptible_timeout();
  try_to_freeze();

We can change it to a simple wait_event_freezable_timeout() and
then eliminate a function call.

Signed-off-by: Kevin Hao <haokexin@gmail.com>
Link: https://lore.kernel.org/r/20231218074730.1898699-1-haokexin@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/atm/ueagle-atm.c

index 8d5580d8d20a8c8dd1fd8b83ae375cb4dbb1a7bc..16703815be0c482328cb45c72dabf457eedcf4e9 100644 (file)
@@ -546,7 +546,7 @@ MODULE_PARM_DESC(annex,
 
 #define uea_wait(sc, cond, timeo) \
 ({ \
-       int _r = wait_event_interruptible_timeout(sc->sync_q, \
+       int _r = wait_event_freezable_timeout(sc->sync_q, \
                        (cond) || kthread_should_stop(), timeo); \
        if (kthread_should_stop()) \
                _r = -ENODEV; \
@@ -1896,7 +1896,6 @@ static int uea_kthread(void *data)
                        ret = sc->stat(sc);
                if (ret != -EAGAIN)
                        uea_wait(sc, 0, msecs_to_jiffies(1000));
-               try_to_freeze();
        }
        uea_leaves(INS_TO_USBDEV(sc));
        return ret;