* [tty:tty-next 31/41] drivers/tty/serial/qcom_geni_serial.c:1925:4: error: cannot jump from this goto statement to its label
@ 2026-07-15 0:41 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-15 0:41 UTC (permalink / raw)
To: Praveen Talari; +Cc: llvm, oe-kbuild-all, linux-serial, Greg Kroah-Hartman
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-next
head: c1d4ce2d9eaeccd7e8aef7ec1109df49eaf4f503
commit: 3d71f8d7eeb374d0eb84c64c6ffd68bdcc0d42d4 [31/41] serial: qcom-geni: remove .pm callback, use runtime PM in startup/shutdown
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260715/202607150830.LsNxeVYw-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project b3e6e6dabdc02153552a64fc74ff5c7532447eed)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260715/202607150830.LsNxeVYw-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607150830.LsNxeVYw-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/tty/serial/qcom_geni_serial.c:1925:4: error: cannot jump from this goto statement to its label
1925 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1916:3: error: cannot jump from this goto statement to its label
1916 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1911:3: error: cannot jump from this goto statement to its label
1911 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1887:3: error: cannot jump from this goto statement to its label
1887 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1881:3: error: cannot jump from this goto statement to its label
1881 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1872:4: error: cannot jump from this goto statement to its label
1872 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1864:4: error: cannot jump from this goto statement to its label
1864 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
drivers/tty/serial/qcom_geni_serial.c:1848:3: error: cannot jump from this goto statement to its label
1848 | goto error;
| ^
drivers/tty/serial/qcom_geni_serial.c:1931:44: note: jump bypasses initialization of variable with __attribute__((cleanup))
1931 | PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
| ^
8 errors generated.
vim +1925 drivers/tty/serial/qcom_geni_serial.c
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1799
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1800 static int qcom_geni_serial_probe(struct platform_device *pdev)
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1801 {
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1802 int ret = 0;
71581242164f112 Colin Ian King 2021-04-23 1803 int line;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1804 struct qcom_geni_serial_port *port;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1805 struct uart_port *uport;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1806 struct resource *res;
066cd1c4e4b9b43 Karthikeyan Ramasubramanian 2018-04-06 1807 int irq;
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1808 struct uart_driver *drv;
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1809 const struct qcom_geni_device_data *data;
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1810
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1811 data = of_device_get_match_data(&pdev->dev);
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1812 if (!data)
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1813 return -EINVAL;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1814
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1815 if (data->console) {
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1816 drv = &qcom_geni_console_driver;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1817 line = of_alias_get_id(pdev->dev.of_node, "serial");
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1818 } else {
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1819 drv = &qcom_geni_uart_driver;
08b0adb1ae5456a Dmitry Baryshkov 2021-06-22 1820 line = of_alias_get_id(pdev->dev.of_node, "serial");
08b0adb1ae5456a Dmitry Baryshkov 2021-06-22 1821 if (line == -ENODEV) /* compat with non-standard aliases */
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1822 line = of_alias_get_id(pdev->dev.of_node, "hsuart");
8a8a66a1a18a1db Girish Mahadevan 2018-07-13 1823 }
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1824
c3e7966c60745f8 Zong Jiang 2025-08-12 1825 port = get_port_from_line(line, data->console, &pdev->dev);
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1826 if (IS_ERR(port)) {
6a10635e90e8cb0 Karthikeyan Ramasubramanian 2018-05-03 1827 dev_err(&pdev->dev, "Invalid line %d\n", line);
6a10635e90e8cb0 Karthikeyan Ramasubramanian 2018-05-03 1828 return PTR_ERR(port);
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1829 }
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1830
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1831 uport = &port->uport;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1832 /* Don't allow 2 drivers to access the same port */
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1833 if (uport->private_data)
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1834 return -ENODEV;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1835
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1836 uport->dev = &pdev->dev;
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1837 port->dev_data = data;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1838 port->se.dev = &pdev->dev;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1839 port->se.wrapper = dev_get_drvdata(pdev->dev.parent);
4b2601ae3066dab Praveen Talari 2025-07-21 1840
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1841 ret = port->dev_data->resources_init(uport);
4b2601ae3066dab Praveen Talari 2025-07-21 1842 if (ret)
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1843 return ret;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1844
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1845 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1846 if (!res) {
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1847 ret = -EINVAL;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1848 goto error;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1849 }
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1850
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1851 uport->mapbase = res->start;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1852
4fcc287f3c69245 Anup Kulkarni 2025-06-03 1853 uport->rs485_config = qcom_geni_rs485_config;
4fcc287f3c69245 Anup Kulkarni 2025-06-03 1854 uport->rs485_supported = qcom_geni_rs485_supported;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1855 port->tx_fifo_depth = DEF_FIFO_DEPTH_WORDS;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1856 port->rx_fifo_depth = DEF_FIFO_DEPTH_WORDS;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1857 port->tx_fifo_width = DEF_FIFO_WIDTH_BITS;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1858
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1859 if (!data->console) {
2aaa43c70778333 Bartosz Golaszewski 2022-12-29 1860 port->rx_buf = devm_kzalloc(uport->dev,
2aaa43c70778333 Bartosz Golaszewski 2022-12-29 1861 DMA_RX_BUF_SIZE, GFP_KERNEL);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1862 if (!port->rx_buf) {
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1863 ret = -ENOMEM;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1864 goto error;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1865 }
bafe277d6c5a8bc Praveen Talari 2026-07-01 1866
bafe277d6c5a8bc Praveen Talari 2026-07-01 1867 port->rx_dma_addr = dma_map_single(pdev->dev.parent, port->rx_buf,
bafe277d6c5a8bc Praveen Talari 2026-07-01 1868 DMA_RX_BUF_SIZE, DMA_FROM_DEVICE);
bafe277d6c5a8bc Praveen Talari 2026-07-01 1869 if (dma_mapping_error(pdev->dev.parent, port->rx_dma_addr)) {
bafe277d6c5a8bc Praveen Talari 2026-07-01 1870 ret = -EIO;
bafe277d6c5a8bc Praveen Talari 2026-07-01 1871 dev_err(&pdev->dev, "Failed to map RX DMA buffer: %d\n", ret);
bafe277d6c5a8bc Praveen Talari 2026-07-01 1872 goto error;
bafe277d6c5a8bc Praveen Talari 2026-07-01 1873 }
f9d690b6ece7ec9 satya priya 2020-03-06 1874 }
f9d690b6ece7ec9 satya priya 2020-03-06 1875
f3974413cf0209b Akash Asthana 2020-01-06 1876 port->name = devm_kasprintf(uport->dev, GFP_KERNEL,
f3974413cf0209b Akash Asthana 2020-01-06 1877 "qcom_geni_serial_%s%d",
f3974413cf0209b Akash Asthana 2020-01-06 1878 uart_console(uport) ? "console" : "uart", uport->line);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1879 if (!port->name) {
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1880 ret = -ENOMEM;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1881 goto error;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1882 }
f3974413cf0209b Akash Asthana 2020-01-06 1883
066cd1c4e4b9b43 Karthikeyan Ramasubramanian 2018-04-06 1884 irq = platform_get_irq(pdev, 0);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1885 if (irq < 0) {
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1886 ret = irq;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1887 goto error;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1888 }
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1889
066cd1c4e4b9b43 Karthikeyan Ramasubramanian 2018-04-06 1890 uport->irq = irq;
8f122698a64b877 Dmitry Safonov 2019-12-13 1891 uport->has_sysrq = IS_ENABLED(CONFIG_SERIAL_QCOM_GENI_CONSOLE);
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1892
40ec6d41c841e27 Bartosz Golaszewski 2022-12-29 1893 if (!data->console)
f3974413cf0209b Akash Asthana 2020-01-06 1894 port->wakeup_irq = platform_get_irq_optional(pdev, 1);
f3974413cf0209b Akash Asthana 2020-01-06 1895
9fa3c4b1fa379f2 Roja Rani Yarubandi 2020-03-04 1896 if (of_property_read_bool(pdev->dev.of_node, "rx-tx-swap"))
9fa3c4b1fa379f2 Roja Rani Yarubandi 2020-03-04 1897 port->rx_tx_swap = true;
9fa3c4b1fa379f2 Roja Rani Yarubandi 2020-03-04 1898
9fa3c4b1fa379f2 Roja Rani Yarubandi 2020-03-04 1899 if (of_property_read_bool(pdev->dev.of_node, "cts-rts-swap"))
9fa3c4b1fa379f2 Roja Rani Yarubandi 2020-03-04 1900 port->cts_rts_swap = true;
9fa3c4b1fa379f2 Roja Rani Yarubandi 2020-03-04 1901
e42d6c3ec0c7ade Douglas Anderson 2020-06-26 1902 port->private_data.drv = drv;
e42d6c3ec0c7ade Douglas Anderson 2020-06-26 1903 uport->private_data = &port->private_data;
f3974413cf0209b Akash Asthana 2020-01-06 1904 platform_set_drvdata(pdev, port);
f3974413cf0209b Akash Asthana 2020-01-06 1905
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1906 irq_set_status_flags(uport->irq, IRQ_NOAUTOEN);
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1907 ret = devm_request_irq(uport->dev, uport->irq, qcom_geni_serial_isr,
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1908 IRQF_TRIGGER_HIGH, port->name, uport);
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1909 if (ret) {
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1910 dev_err(uport->dev, "Failed to get IRQ ret %d\n", ret);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1911 goto error;
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1912 }
3e4aaea7a0391d4 Akash Asthana 2019-10-10 1913
4fcc287f3c69245 Anup Kulkarni 2025-06-03 1914 ret = uart_get_rs485_mode(uport);
4fcc287f3c69245 Anup Kulkarni 2025-06-03 1915 if (ret)
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1916 goto error;
4fcc287f3c69245 Anup Kulkarni 2025-06-03 1917
f3974413cf0209b Akash Asthana 2020-01-06 1918 if (port->wakeup_irq > 0) {
f3974413cf0209b Akash Asthana 2020-01-06 1919 device_init_wakeup(&pdev->dev, true);
f3974413cf0209b Akash Asthana 2020-01-06 1920 ret = dev_pm_set_dedicated_wake_irq(&pdev->dev,
8b7103f31950443 Akash Asthana 2019-10-10 1921 port->wakeup_irq);
8b7103f31950443 Akash Asthana 2019-10-10 1922 if (ret) {
f3974413cf0209b Akash Asthana 2020-01-06 1923 device_init_wakeup(&pdev->dev, false);
a53be6945f5123c Viken Dadhaniya 2025-03-27 1924 ida_free(&port_ida, uport->line);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 @1925 goto error;
8b7103f31950443 Akash Asthana 2019-10-10 1926 }
8b7103f31950443 Akash Asthana 2019-10-10 1927 }
f3974413cf0209b Akash Asthana 2020-01-06 1928
fb47423dc7bf433 Praveen Talari 2026-01-08 1929 devm_pm_runtime_enable(port->se.dev);
fb47423dc7bf433 Praveen Talari 2026-01-08 1930
3d71f8d7eeb374d Praveen Talari 2026-07-10 1931 PM_RUNTIME_ACQUIRE_IF_ENABLED(uport->dev, pm);
3d71f8d7eeb374d Praveen Talari 2026-07-10 1932 ret = PM_RUNTIME_ACQUIRE_ERR(&pm);
3d71f8d7eeb374d Praveen Talari 2026-07-10 1933 if (ret < 0) {
3d71f8d7eeb374d Praveen Talari 2026-07-10 1934 dev_err(uport->dev, "Failed to resume and get %d\n", ret);
3d71f8d7eeb374d Praveen Talari 2026-07-10 1935 goto error;
3d71f8d7eeb374d Praveen Talari 2026-07-10 1936 }
3d71f8d7eeb374d Praveen Talari 2026-07-10 1937
fb47423dc7bf433 Praveen Talari 2026-01-08 1938 ret = uart_add_one_port(drv, uport);
fb47423dc7bf433 Praveen Talari 2026-01-08 1939 if (ret)
fb47423dc7bf433 Praveen Talari 2026-01-08 1940 goto error;
fb47423dc7bf433 Praveen Talari 2026-01-08 1941
f3974413cf0209b Akash Asthana 2020-01-06 1942 return 0;
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1943
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1944 error:
bafe277d6c5a8bc Praveen Talari 2026-07-01 1945 if (port->rx_dma_addr) {
bafe277d6c5a8bc Praveen Talari 2026-07-01 1946 dma_unmap_single(pdev->dev.parent, port->rx_dma_addr,
bafe277d6c5a8bc Praveen Talari 2026-07-01 1947 DMA_RX_BUF_SIZE, DMA_FROM_DEVICE);
bafe277d6c5a8bc Praveen Talari 2026-07-01 1948 port->rx_dma_addr = 0;
bafe277d6c5a8bc Praveen Talari 2026-07-01 1949 }
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1950 dev_pm_domain_detach_list(port->pd_list);
abffd1e6c4f1c97 Praveen Talari 2025-11-10 1951 return ret;
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1952 }
c4f528795d1add8 Karthikeyan Ramasubramanian 2018-03-14 1953
:::::: The code at line 1925 was first introduced by commit
:::::: abffd1e6c4f1c9746ffd3fb5c659668efc221714 serial: qcom-geni: Enable Serial on SA8255p Qualcomm platforms
:::::: TO: Praveen Talari <praveen.talari@oss.qualcomm.com>
:::::: 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-07-15 0:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 0:41 [tty:tty-next 31/41] drivers/tty/serial/qcom_geni_serial.c:1925:4: error: cannot jump from this goto statement to its label kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox