TI SoC driver updates for v7.3

Minor bug fixes and cleanups across TI SoC and firmware drivers:
 
 - firmware: ti_sci: Fix a resource leak by undoing list publication when
   device populate fails, ensuring proper cleanup on error paths
 - soc: ti: knav_qmss: Remove debugfs file on teardown to avoid stale
   entries and potential use-after-free scenarios
 - soc: ti: wkup_m3_ipc: Remove redundant dev_err() call to avoid
   duplicate error reporting
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmpzR+4ACgkQ3bWEnRc2
 JJ3b8A//cpKS/kqdJoiyXqYz0sSsSw3vviZzUMFLL4qZAUiA/FIAH+2vy6+7ytv+
 4PtwR3fGLBu2q5u+21t19lSnzIVi1R2mneYs+GlY+/0nXBvaW46TJzY0fgFcXYJX
 7A2+5M2pMUXSIe0okMgAU5RqasLFMiOGXE5ZLI3Kzw88IR4WH4nna8Y5T/GqIx2Y
 KCBhFY9sERM64M25r6L0Iyjf4WkGFYIUL7f5d96104XKvwiet1xEWbJOwosaI/hk
 QSnQWvrZ6kZyKgvlPdZbdEdkiryU8Ec3D3fDU4I9HYVivi8E67I1C2KjkvmwUz/+
 HvfMfQYlSj8vIadJiLl0/zfb2AB0PU0uPEjyY7sM9QV/f5VDNbpiu3RkueSW6l2I
 omNLOfn9zM4GVR538ZU1581QlP0UI2InvVHeQ1xl8dDzYMrmVwOl6+MpEtPVIyMw
 m/HmjZK9g0M2t7I0qKcvIBuTeLZihzxccCFfcENseVGcFMcpb8lb8w5Z5mkVB+Nc
 8GpF3KKdEf6G6vTTwJCaK6DXqrhjaJvi1A9Dp0gwYLgIwpF77SsgIOLvGLAyKYYs
 opXX/e/cOQ2L7FdDtEiaojbmUaqEQ79Tf7MdlEBNrLv/N9AhptM3u7uTXKbFjQbP
 8dYuBfmMmbA4MW4+BhO+TDdae/peeOfoesdz0iJlsHGqg8GUauk=
 =miKf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmp5glIACgkQmmx57+YA
 GNljDg/+OyNv2K+6vxK4/SZg6bDNZ2p6qSeVuY8tuluX8Uc/K5k54ubamdPgCyDB
 SNIPVbxq0vfVguEFtYXhJNI7qnx6k66kF6q6XGm8FLJDyViD5QeD3ZgnVOp0dWGd
 CVhxoCXBNhyjwj/hiNR6yBePpMCcBw1D5MtJrrusEooS1K5Xuo1vW8ovXzER2WKG
 No1raMpx0f5RK13STnz4LnUKtMkHstDO5dktRmBz5Y372tM/Pw3CsbbRENIrreQJ
 y57pGJ1Y5EQ99KkJhUpltg6+1xIsOexhJ1mbxInnqPNPQ8ogVh/EcmodZYtz0pBs
 yq1Lm2gR2layXL7IuUBO9JFVVRRjeT0nvDgXzoBN4kk6grhkYtBb07+NwrDnamaw
 9sND7YodKjqe690x67iF3HOctemcefcuDAGlIdThi15SEiEMofepZFeAR2MpjzFP
 4aJVc4HWPKqaPc7Gu7WngzcvpxGXG/I0lF+JZRzvdDbllkPx/YagydbkFyU5yT5C
 74KTgBsjZ0yhgSZM/6HEKwBTDLVmHBOUoG7X0XPRNGz5Ev9ZMhiyCQ9Ka83MdkBA
 P00dbXsCie7zQKFeIhi2bIhMfmguWi9VmaB2rVnFyPx2RnVCT8cr1RIb748fQwsO
 /OoilmarEDVpbDBRH1krTjKNPpZwg2+9/s59g0LSNi1+gCY2NiA=
 =SAWu
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v7.3

Minor bug fixes and cleanups across TI SoC and firmware drivers:

- firmware: ti_sci: Fix a resource leak by undoing list publication when
  device populate fails, ensuring proper cleanup on error paths
- soc: ti: knav_qmss: Remove debugfs file on teardown to avoid stale
  entries and potential use-after-free scenarios
- soc: ti: wkup_m3_ipc: Remove redundant dev_err() call to avoid
  duplicate error reporting

* tag 'ti-driver-soc-for-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: wkup_m3_ipc: Remove redundant dev_err()
  soc: ti: knav_qmss: Remove debugfs file on teardown
  firmware: ti_sci: Undo list publication on populate failure

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2026-08-10 09:48:27 +02:00
commit 253ea5efea
4 changed files with 11 additions and 5 deletions

View File

@ -4225,6 +4225,10 @@ static int ti_sci_probe(struct platform_device *pdev)
ret = of_platform_populate(dev->of_node, NULL, NULL, dev);
if (ret) {
dev_err(dev, "platform_populate failed %pe\n", ERR_PTR(ret));
of_platform_depopulate(dev);
mutex_lock(&ti_sci_list_mutex);
list_del(&info->node);
mutex_unlock(&ti_sci_list_mutex);
goto out;
}
return 0;

View File

@ -304,6 +304,7 @@ struct knav_device {
struct list_head pools;
struct list_head pdsps;
struct list_head qmgrs;
struct dentry *debugfs_file;
enum qmss_version version;
};

View File

@ -1849,8 +1849,9 @@ static int knav_queue_probe(struct platform_device *pdev)
goto err;
}
debugfs_create_file("qmss", S_IFREG | S_IRUGO, NULL, NULL,
&knav_queue_debug_fops);
knav_qdev->debugfs_file =
debugfs_create_file("qmss", 0444, NULL, NULL,
&knav_queue_debug_fops);
device_ready = true;
return 0;
@ -1868,6 +1869,8 @@ static void knav_queue_remove(struct platform_device *pdev)
struct knav_device *kdev = platform_get_drvdata(pdev);
device_ready = false;
debugfs_remove(kdev->debugfs_file);
kdev->debugfs_file = NULL;
knav_queue_stop_pdsps(kdev);
knav_queue_free_regions(kdev);
knav_free_queue_ranges(kdev);

View File

@ -630,10 +630,8 @@ static int wkup_m3_ipc_probe(struct platform_device *pdev)
ret = devm_request_irq(dev, irq, wkup_m3_txev_handler,
0, "wkup_m3_txev", m3_ipc);
if (ret) {
dev_err(dev, "request_irq failed\n");
if (ret)
return ret;
}
m3_ipc->mbox_client.dev = dev;
m3_ipc->mbox_client.tx_done = NULL;