CC: [email protected] CC: [email protected] TO: Thomas Gleixner <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.13.y-rt-testing head: ef625e4b904469d3c5d6962b36abaed37f49db62 commit: b42b6e6889e21b06cee7a633c0f1b562e5d56eef [197/232] tty/serial/omap: Make the locking RT aware :::::: branch date: 2 days ago :::::: commit date: 11 days ago config: x86_64-randconfig-s021-20210718 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git/commit/?id=b42b6e6889e21b06cee7a633c0f1b562e5d56eef git remote add linux-rt-devel https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git git fetch --no-tags linux-rt-devel linux-5.13.y-rt-testing git checkout b42b6e6889e21b06cee7a633c0f1b562e5d56eef # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/tty/serial/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> sparse warnings: (new ones prefixed by >>) >> drivers/tty/serial/omap-serial.c:1345:9: sparse: sparse: context imbalance >> in 'serial_omap_console_write' - different lock contexts for basic block vim +/serial_omap_console_write +1345 drivers/tty/serial/omap-serial.c b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1302 b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1303 static void b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1304 serial_omap_console_write(struct console *co, const char *s, b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1305 unsigned int count) b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1306 { b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1307 struct uart_omap_port *up = serial_omap_console_ports[co->index]; b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1308 unsigned long flags; b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1309 unsigned int ier; b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1310 int locked = 1; b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1311 d8ee4ea68ff9c0 drivers/tty/serial/omap-serial.c Felipe Balbi 2012-09-06 1312 pm_runtime_get_sync(up->dev); fcdca75728ac37 drivers/tty/serial/omap-serial.c Govindraj.R 2011-02-28 1313 b42b6e6889e21b drivers/tty/serial/omap-serial.c Thomas Gleixner 2011-07-28 1314 if (up->port.sysrq || oops_in_progress) b42b6e6889e21b drivers/tty/serial/omap-serial.c Thomas Gleixner 2011-07-28 1315 locked = spin_trylock_irqsave(&up->port.lock, flags); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1316 else b42b6e6889e21b drivers/tty/serial/omap-serial.c Thomas Gleixner 2011-07-28 1317 spin_lock_irqsave(&up->port.lock, flags); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1318 b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1319 /* b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1320 * First save the IER then disable the interrupts b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1321 */ b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1322 ier = serial_in(up, UART_IER); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1323 serial_out(up, UART_IER, 0); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1324 b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1325 uart_console_write(&up->port, s, count, serial_omap_console_putchar); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1326 b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1327 /* b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1328 * Finally, wait for transmitter to become empty b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1329 * and restore the IER b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1330 */ b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1331 wait_for_xmitr(up); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1332 serial_out(up, UART_IER, ier); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1333 /* b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1334 * The receive handling will happen properly because the b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1335 * receive ready bit will still be set; it is not cleared b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1336 * on read. However, modem control will not, we must b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1337 * call it if we have saved something in the saved flags b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1338 * while processing with interrupts off. b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1339 */ b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1340 if (up->msr_saved_flags) b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1341 check_modem_status(up); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1342 d8ee4ea68ff9c0 drivers/tty/serial/omap-serial.c Felipe Balbi 2012-09-06 1343 pm_runtime_mark_last_busy(up->dev); d8ee4ea68ff9c0 drivers/tty/serial/omap-serial.c Felipe Balbi 2012-09-06 1344 pm_runtime_put_autosuspend(up->dev); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 @1345 if (locked) b42b6e6889e21b drivers/tty/serial/omap-serial.c Thomas Gleixner 2011-07-28 1346 spin_unlock_irqrestore(&up->port.lock, flags); b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1347 } b612633b592807 drivers/serial/omap-serial.c Govindraj.R 2010-09-27 1348 :::::: The code at line 1345 was first introduced by commit :::::: b612633b5928077441b979471869753bfa93d41a serial: Add OMAP high-speed UART driver :::::: TO: Govindraj.R <[email protected]> :::::: CC: Kevin Hilman <[email protected]> --- 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]
