[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202509240214.bHWiT4Db-lkp@intel.com>
Date: Wed, 24 Sep 2025 02:27:20 +0800
From: kernel test robot <lkp@...el.com>
To: Sherry Sun <sherry.sun@....com>, gregkh@...uxfoundation.org,
jirislaby@...nel.org, shawnguo@...nel.org, s.hauer@...gutronix.de,
kernel@...gutronix.de, festevam@...il.com, shenwei.wang@....com
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org,
imx@...ts.linux.dev
Subject: Re: [PATCH 2/2] tty: serial: imx: Add missing wakeup event reporting
Hi Sherry,
kernel test robot noticed the following build warnings:
[auto build test WARNING on shawnguo/for-next]
[also build test WARNING on tty/tty-testing tty/tty-next tty/tty-linus usb/usb-testing usb/usb-next usb/usb-linus linus/master v6.17-rc7 next-20250922]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Sherry-Sun/tty-serial-imx-Only-configure-the-wake-register-when-device-is-set-as-wakeup-source/20250923-111951
base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
patch link: https://lore.kernel.org/r/20250923031613.2448073-3-sherry.sun%40nxp.com
patch subject: [PATCH 2/2] tty: serial: imx: Add missing wakeup event reporting
config: arm-randconfig-004-20250923 (https://download.01.org/0day-ci/archive/20250924/202509240214.bHWiT4Db-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project cafc064fc7a96b3979a023ddae1da2b499d6c954)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250924/202509240214.bHWiT4Db-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509240214.bHWiT4Db-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/tty/serial/imx.c:2721:6: warning: variable 'wake_active' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
2721 | if (on) {
| ^~
drivers/tty/serial/imx.c:2742:6: note: uninitialized use occurs here
2742 | if (wake_active && irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq)))
| ^~~~~~~~~~~
drivers/tty/serial/imx.c:2721:2: note: remove the 'if' if its condition is always false
2721 | if (on) {
| ^~~~~~~~~
2722 | imx_uart_writel(sport, USR1_AWAKE, USR1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2723 | ucr3 |= UCR3_AWAKEN;
| ~~~~~~~~~~~~~~~~~~~~
2724 | } else {
| ~~~~~~
drivers/tty/serial/imx.c:2704:28: note: initialize the variable 'wake_active' to silence this warning
2704 | bool may_wake, wake_active;
| ^
| = 0
drivers/tty/serial/imx.c:2707:6: warning: variable 'may_wake' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
2707 | if (tty) {
| ^~~
drivers/tty/serial/imx.c:2714:7: note: uninitialized use occurs here
2714 | if (!may_wake)
| ^~~~~~~~
drivers/tty/serial/imx.c:2707:2: note: remove the 'if' if its condition is always true
2707 | if (tty) {
| ^~~~~~~~
drivers/tty/serial/imx.c:2704:15: note: initialize the variable 'may_wake' to silence this warning
2704 | bool may_wake, wake_active;
| ^
| = 0
2 warnings generated.
vim +2721 drivers/tty/serial/imx.c
c868cbb7e5c6d3 Eduardo Valentin 2015-08-11 2696
3c199ed5bd6469 Esben Haabendal 2024-09-13 2697 /* called with irq off */
9d1a50a2cceb3a Uwe Kleine-König 2018-03-02 2698 static void imx_uart_enable_wakeup(struct imx_port *sport, bool on)
189550b8644ef5 Eduardo Valentin 2015-08-11 2699 {
519ca97b8a2e94 Sherry Sun 2025-09-23 2700 struct tty_port *port = &sport->port.state->port;
519ca97b8a2e94 Sherry Sun 2025-09-23 2701 struct tty_struct *tty;
519ca97b8a2e94 Sherry Sun 2025-09-23 2702 struct device *tty_dev;
2e33c984e6b3d6 Sherry Sun 2025-09-23 2703 u32 ucr3, usr1;
2e33c984e6b3d6 Sherry Sun 2025-09-23 2704 bool may_wake, wake_active;
519ca97b8a2e94 Sherry Sun 2025-09-23 2705
519ca97b8a2e94 Sherry Sun 2025-09-23 2706 tty = tty_port_tty_get(port);
519ca97b8a2e94 Sherry Sun 2025-09-23 2707 if (tty) {
519ca97b8a2e94 Sherry Sun 2025-09-23 2708 tty_dev = tty->dev;
519ca97b8a2e94 Sherry Sun 2025-09-23 2709 may_wake = tty_dev && device_may_wakeup(tty_dev);
519ca97b8a2e94 Sherry Sun 2025-09-23 2710 tty_kref_put(tty);
519ca97b8a2e94 Sherry Sun 2025-09-23 2711 }
519ca97b8a2e94 Sherry Sun 2025-09-23 2712
519ca97b8a2e94 Sherry Sun 2025-09-23 2713 /* only configure the wake register when device set as wakeup source */
519ca97b8a2e94 Sherry Sun 2025-09-23 2714 if (!may_wake)
519ca97b8a2e94 Sherry Sun 2025-09-23 2715 return;
189550b8644ef5 Eduardo Valentin 2015-08-11 2716
fbd22c4fa737f9 Xiaolei Wang 2024-12-11 2717 uart_port_lock_irq(&sport->port);
3c199ed5bd6469 Esben Haabendal 2024-09-13 2718
2e33c984e6b3d6 Sherry Sun 2025-09-23 2719 usr1 = imx_uart_readl(sport, USR1);
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2720 ucr3 = imx_uart_readl(sport, UCR3);
09df0b3464e528 Martin Kaiser 2018-01-05 @2721 if (on) {
27c844261b87f8 Uwe Kleine-König 2018-03-02 2722 imx_uart_writel(sport, USR1_AWAKE, USR1);
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2723 ucr3 |= UCR3_AWAKEN;
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2724 } else {
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2725 ucr3 &= ~UCR3_AWAKEN;
2e33c984e6b3d6 Sherry Sun 2025-09-23 2726 wake_active = usr1 & USR1_AWAKE;
09df0b3464e528 Martin Kaiser 2018-01-05 2727 }
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2728 imx_uart_writel(sport, ucr3, UCR3);
bc85734b126f81 Eduardo Valentin 2015-08-11 2729
38b1f0fb42f772 Fabio Estevam 2018-01-04 2730 if (sport->have_rtscts) {
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2731 u32 ucr1 = imx_uart_readl(sport, UCR1);
c67643b46c28fc Fugang Duan 2021-11-25 2732 if (on) {
c67643b46c28fc Fugang Duan 2021-11-25 2733 imx_uart_writel(sport, USR1_RTSD, USR1);
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2734 ucr1 |= UCR1_RTSDEN;
c67643b46c28fc Fugang Duan 2021-11-25 2735 } else {
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2736 ucr1 &= ~UCR1_RTSDEN;
2e33c984e6b3d6 Sherry Sun 2025-09-23 2737 wake_active |= usr1 & USR1_RTSD;
c67643b46c28fc Fugang Duan 2021-11-25 2738 }
4444dcf1fe7ea5 Uwe Kleine-König 2018-03-02 2739 imx_uart_writel(sport, ucr1, UCR1);
189550b8644ef5 Eduardo Valentin 2015-08-11 2740 }
3c199ed5bd6469 Esben Haabendal 2024-09-13 2741
2e33c984e6b3d6 Sherry Sun 2025-09-23 2742 if (wake_active && irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq)))
2e33c984e6b3d6 Sherry Sun 2025-09-23 2743 pm_wakeup_event(tty_port_tty_get(port)->dev, 0);
2e33c984e6b3d6 Sherry Sun 2025-09-23 2744
fbd22c4fa737f9 Xiaolei Wang 2024-12-11 2745 uart_port_unlock_irq(&sport->port);
38b1f0fb42f772 Fabio Estevam 2018-01-04 2746 }
189550b8644ef5 Eduardo Valentin 2015-08-11 2747
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists