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]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
