* drivers/tty/serial/owl-uart.c:719 owl_uart_probe() warn: 'owl_port->clk' from clk_prepare_enable() not released on lines: 719.
@ 2026-09-16 7:28 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-16 7:28 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Marco Elver <elver@google.com>
CC: "Vlastimil Babka (SUSE)" <vbabka@kernel.org>
CC: "Harry Yoo (Oracle)" <harry@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9b87fdc9af2fbfcdb5c24a64139685ef80f6573f
commit: 0fc1bd38a19c108395d8338fb034f90c2d3fbe55 slab: improve KMALLOC_PARTITION_RANDOM randomness
date: 4 months ago
:::::: branch date: 12 hours ago
:::::: commit date: 4 months ago
config: arc-randconfig-r073-20260915 (https://download.01.org/0day-ci/archive/20260916/202609160937.OilPQS0m-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 14.3.0
smatch: v0.5.0-9187-g5189e3fb
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
| Fixes: 0fc1bd38a19c ("slab: improve KMALLOC_PARTITION_RANDOM randomness")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202609160937.OilPQS0m-lkp@intel.com/
smatch warnings:
drivers/tty/serial/owl-uart.c:719 owl_uart_probe() warn: 'owl_port->clk' from clk_prepare_enable() not released on lines: 719.
vim +719 drivers/tty/serial/owl-uart.c
fc60a8b675bd94 Andreas Färber 2017-07-09 643
fc60a8b675bd94 Andreas Färber 2017-07-09 644 static int owl_uart_probe(struct platform_device *pdev)
fc60a8b675bd94 Andreas Färber 2017-07-09 645 {
fc60a8b675bd94 Andreas Färber 2017-07-09 646 const struct of_device_id *match;
fc60a8b675bd94 Andreas Färber 2017-07-09 647 const struct owl_uart_info *info = NULL;
fc60a8b675bd94 Andreas Färber 2017-07-09 648 struct resource *res_mem;
fc60a8b675bd94 Andreas Färber 2017-07-09 649 struct owl_uart_port *owl_port;
fc60a8b675bd94 Andreas Färber 2017-07-09 650 int ret, irq;
fc60a8b675bd94 Andreas Färber 2017-07-09 651
fc60a8b675bd94 Andreas Färber 2017-07-09 652 if (pdev->dev.of_node) {
fc60a8b675bd94 Andreas Färber 2017-07-09 653 pdev->id = of_alias_get_id(pdev->dev.of_node, "serial");
fc60a8b675bd94 Andreas Färber 2017-07-09 654 match = of_match_node(owl_uart_dt_matches, pdev->dev.of_node);
fc60a8b675bd94 Andreas Färber 2017-07-09 655 if (match)
fc60a8b675bd94 Andreas Färber 2017-07-09 656 info = match->data;
fc60a8b675bd94 Andreas Färber 2017-07-09 657 }
fc60a8b675bd94 Andreas Färber 2017-07-09 658
fc60a8b675bd94 Andreas Färber 2017-07-09 659 if (pdev->id < 0 || pdev->id >= OWL_UART_PORT_NUM) {
fc60a8b675bd94 Andreas Färber 2017-07-09 660 dev_err(&pdev->dev, "id %d out of range\n", pdev->id);
fc60a8b675bd94 Andreas Färber 2017-07-09 661 return -EINVAL;
fc60a8b675bd94 Andreas Färber 2017-07-09 662 }
fc60a8b675bd94 Andreas Färber 2017-07-09 663
fc60a8b675bd94 Andreas Färber 2017-07-09 664 res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
fc60a8b675bd94 Andreas Färber 2017-07-09 665 if (!res_mem) {
fc60a8b675bd94 Andreas Färber 2017-07-09 666 dev_err(&pdev->dev, "could not get mem\n");
fc60a8b675bd94 Andreas Färber 2017-07-09 667 return -ENODEV;
fc60a8b675bd94 Andreas Färber 2017-07-09 668 }
fc60a8b675bd94 Andreas Färber 2017-07-09 669
fc60a8b675bd94 Andreas Färber 2017-07-09 670 irq = platform_get_irq(pdev, 0);
1df217868178bd Stephen Boyd 2019-07-30 671 if (irq < 0)
fc60a8b675bd94 Andreas Färber 2017-07-09 672 return irq;
fc60a8b675bd94 Andreas Färber 2017-07-09 673
fc60a8b675bd94 Andreas Färber 2017-07-09 674 if (owl_uart_ports[pdev->id]) {
fc60a8b675bd94 Andreas Färber 2017-07-09 675 dev_err(&pdev->dev, "port %d already allocated\n", pdev->id);
fc60a8b675bd94 Andreas Färber 2017-07-09 676 return -EBUSY;
fc60a8b675bd94 Andreas Färber 2017-07-09 677 }
fc60a8b675bd94 Andreas Färber 2017-07-09 678
fc60a8b675bd94 Andreas Färber 2017-07-09 679 owl_port = devm_kzalloc(&pdev->dev, sizeof(*owl_port), GFP_KERNEL);
fc60a8b675bd94 Andreas Färber 2017-07-09 680 if (!owl_port)
fc60a8b675bd94 Andreas Färber 2017-07-09 681 return -ENOMEM;
fc60a8b675bd94 Andreas Färber 2017-07-09 682
fc60a8b675bd94 Andreas Färber 2017-07-09 683 owl_port->clk = devm_clk_get(&pdev->dev, NULL);
fc60a8b675bd94 Andreas Färber 2017-07-09 684 if (IS_ERR(owl_port->clk)) {
fc60a8b675bd94 Andreas Färber 2017-07-09 685 dev_err(&pdev->dev, "could not get clk\n");
fc60a8b675bd94 Andreas Färber 2017-07-09 686 return PTR_ERR(owl_port->clk);
fc60a8b675bd94 Andreas Färber 2017-07-09 687 }
fc60a8b675bd94 Andreas Färber 2017-07-09 688
abf42d2f333b21 Amit Singh Tomar 2020-04-17 689 ret = clk_prepare_enable(owl_port->clk);
abf42d2f333b21 Amit Singh Tomar 2020-04-17 690 if (ret) {
abf42d2f333b21 Amit Singh Tomar 2020-04-17 691 dev_err(&pdev->dev, "could not enable clk\n");
abf42d2f333b21 Amit Singh Tomar 2020-04-17 692 return ret;
abf42d2f333b21 Amit Singh Tomar 2020-04-17 693 }
abf42d2f333b21 Amit Singh Tomar 2020-04-17 694
fc60a8b675bd94 Andreas Färber 2017-07-09 695 owl_port->port.dev = &pdev->dev;
fc60a8b675bd94 Andreas Färber 2017-07-09 696 owl_port->port.line = pdev->id;
fc60a8b675bd94 Andreas Färber 2017-07-09 697 owl_port->port.type = PORT_OWL;
fc60a8b675bd94 Andreas Färber 2017-07-09 698 owl_port->port.iotype = UPIO_MEM;
fc60a8b675bd94 Andreas Färber 2017-07-09 699 owl_port->port.mapbase = res_mem->start;
fc60a8b675bd94 Andreas Färber 2017-07-09 700 owl_port->port.irq = irq;
fc60a8b675bd94 Andreas Färber 2017-07-09 701 owl_port->port.uartclk = clk_get_rate(owl_port->clk);
fc60a8b675bd94 Andreas Färber 2017-07-09 702 if (owl_port->port.uartclk == 0) {
fc60a8b675bd94 Andreas Färber 2017-07-09 703 dev_err(&pdev->dev, "clock rate is zero\n");
bcea0f547ec1a2 Miaoqian Lin 2022-03-07 704 clk_disable_unprepare(owl_port->clk);
fc60a8b675bd94 Andreas Färber 2017-07-09 705 return -EINVAL;
fc60a8b675bd94 Andreas Färber 2017-07-09 706 }
fc60a8b675bd94 Andreas Färber 2017-07-09 707 owl_port->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP | UPF_LOW_LATENCY;
fc60a8b675bd94 Andreas Färber 2017-07-09 708 owl_port->port.x_char = 0;
fc60a8b675bd94 Andreas Färber 2017-07-09 709 owl_port->port.fifosize = (info) ? info->tx_fifosize : 16;
fc60a8b675bd94 Andreas Färber 2017-07-09 710 owl_port->port.ops = &owl_uart_ops;
fc60a8b675bd94 Andreas Färber 2017-07-09 711
fc60a8b675bd94 Andreas Färber 2017-07-09 712 owl_uart_ports[pdev->id] = owl_port;
fc60a8b675bd94 Andreas Färber 2017-07-09 713 platform_set_drvdata(pdev, owl_port);
fc60a8b675bd94 Andreas Färber 2017-07-09 714
fc60a8b675bd94 Andreas Färber 2017-07-09 715 ret = uart_add_one_port(&owl_uart_driver, &owl_port->port);
fc60a8b675bd94 Andreas Färber 2017-07-09 716 if (ret)
fc60a8b675bd94 Andreas Färber 2017-07-09 717 owl_uart_ports[pdev->id] = NULL;
fc60a8b675bd94 Andreas Färber 2017-07-09 718
fc60a8b675bd94 Andreas Färber 2017-07-09 @719 return ret;
fc60a8b675bd94 Andreas Färber 2017-07-09 720 }
fc60a8b675bd94 Andreas Färber 2017-07-09 721
:::::: The code at line 719 was first introduced by commit
:::::: fc60a8b675bd9499c71716d21c238eed5092ddfc tty: serial: owl: Implement console driver
:::::: TO: Andreas Färber <afaerber@suse.de>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-16 7:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 7:28 drivers/tty/serial/owl-uart.c:719 owl_uart_probe() warn: 'owl_port->clk' from clk_prepare_enable() not released on lines: 719 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.