CC: [email protected]
CC: [email protected]
TO: "Stefan-gabriel Mirea" <[email protected]>
CC: "Greg Kroah-Hartman" <[email protected]>
CC: "Stoica Cosmin-Stefan" <[email protected]>
CC: "Adrian.Nitu" <[email protected]>
CC: Larisa Grigore <[email protected]>
CC: Ana Nedelcu <[email protected]>
CC: Mihaela Martinas <[email protected]>
CC: Matthew Nunez <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   6f630784cc0d92fb58ea326e2bc01aa056279ecb
commit: 09864c1cdf5c537bd01bff45181406e422ea988c tty: serial: Add linflexuart 
driver for S32V234
date:   9 months ago
:::::: branch date: 2 hours ago
:::::: commit date: 9 months ago
config: x86_64-randconfig-m001-20200611 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

New smatch warnings:
drivers/tty/serial/fsl_linflexuart.c:767 linflex_console_setup() error: double 
unlocked 'init_lock' (orig line 738)

Old smatch warnings:
drivers/tty/serial/fsl_linflexuart.c:278 linflex_rxint() warn: curly braces 
intended?
drivers/tty/serial/fsl_linflexuart.c:253 linflex_rxint() warn: this loop 
depends on readl() succeeding
drivers/tty/serial/fsl_linflexuart.c:584 linflex_console_putchar() warn: this 
loop depends on readl() succeeding
drivers/tty/serial/fsl_linflexuart.c:626 linflex_earlycon_putchar() error: we 
previously assumed 'earlycon_buf.content' could be null (see line 614)
drivers/tty/serial/fsl_linflexuart.c:759 linflex_console_setup() error: we 
previously assumed 'earlycon_port' could be null (see line 733)

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=09864c1cdf5c537bd01bff45181406e422ea988c
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 09864c1cdf5c537bd01bff45181406e422ea988c
vim +/init_lock +767 drivers/tty/serial/fsl_linflexuart.c

09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  705  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  706  static int __init 
linflex_console_setup(struct console *co, char *options)
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  707  {
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  708     struct uart_port *sport;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  709     int baud = 115200;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  710     int bits = 8;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  711     int parity = 'n';
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  712     int flow = 'n';
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  713     int ret;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  714     int i;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  715     unsigned long flags;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  716     /*
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  717      * check whether an 
invalid uart number has been specified, and
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  718      * if so, search for 
the first available port that does have
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  719      * console support.
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  720      */
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  721     if (co->index == -1 || 
co->index >= ARRAY_SIZE(linflex_ports))
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  722             co->index = 0;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  723  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  724     sport = 
linflex_ports[co->index];
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  725     if (!sport)
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  726             return -ENODEV;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  727  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  728     if (options)
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  729             
uart_parse_options(options, &baud, &parity, &bits, &flow);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  730     else
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  731             
linflex_console_get_options(sport, &parity, &bits);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  732  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  733     if (earlycon_port && 
sport->mapbase == earlycon_port->mapbase) {
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  734             
linflex_earlycon_same_instance = true;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  735  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  736             
spin_lock_irqsave(&init_lock, flags);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  737             during_init = 
true;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09 @738             
spin_unlock_irqrestore(&init_lock, flags);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  739  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  740             /* Workaround 
for character loss or output of many invalid
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  741              * characters, 
when INIT mode is entered shortly after a
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  742              * character 
has just been printed.
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  743              */
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  744             
udelay(PREINIT_DELAY);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  745     }
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  746  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  747     
linflex_setup_watermark(sport);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  748  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  749     ret = 
uart_set_options(sport, co, baud, parity, bits, flow);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  750  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  751     if 
(!linflex_earlycon_same_instance)
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  752             goto done;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  753  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  754     
spin_lock_irqsave(&init_lock, flags);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  755  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  756     /* Emptying buffer */
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  757     if (earlycon_buf.len) {
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  758             for (i = 0; i < 
earlycon_buf.len; i++)
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  759                     
linflex_console_putchar(earlycon_port,
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  760                             
earlycon_buf.content[i]);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  761  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  762             
kfree(earlycon_buf.content);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  763             
earlycon_buf.len = 0;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  764     }
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  765  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  766     during_init = false;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09 @767     
spin_unlock_irqrestore(&init_lock, flags);
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  768  
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  769  done:
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  770     return ret;
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  771  }
09864c1cdf5c53 Stefan-gabriel Mirea 2019-08-09  772  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to