drivers/remoteproc/qcom_q6v5_wcss.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
q6v5_wcss_probe() registers GLINK, PDM and SSR remoteproc subdevices,
and may also register a sysmon subdevice. The probe failure path
removes all of these subdevices, but q6v5_wcss_remove() only removes
the PDM subdevice.
As a result, GLINK, SSR and sysmon resources and registrations can
remain after the WCSS driver is removed.
Call rproc_del() before tearing down the Qualcomm-specific resources,
matching the teardown order used by the other Qualcomm Q6 remoteproc
drivers, and remove the GLINK, sysmon and SSR subdevices together with
the existing PDM cleanup.
This issue was found by manual code inspection.
Fixes: 8a226e2c71bb ("remoteproc: wcss: add support for rpmsg communication")
Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
---
drivers/remoteproc/qcom_q6v5_wcss.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index b391724cfd08..4d3a1adbf6c1 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -1042,9 +1042,13 @@ static void q6v5_wcss_remove(struct platform_device *pdev)
struct rproc *rproc = platform_get_drvdata(pdev);
struct q6v5_wcss *wcss = rproc->priv;
+ rproc_del(rproc);
+
qcom_q6v5_deinit(&wcss->q6v5);
+ qcom_remove_glink_subdev(rproc, &wcss->glink_subdev);
qcom_remove_pdm_subdev(rproc, &wcss->pdm_subdev);
- rproc_del(rproc);
+ qcom_remove_sysmon_subdev(wcss->sysmon);
++ qcom_remove_ssr_subdev(rproc, &wcss->ssr_subdev);
}
static const struct wcss_data wcss_ipq8074_res_init = {
--
2.43.0
On Fri, 18 Sep 2026 12:13:21 +0800, Guangshuo Li wrote:
> q6v5_wcss_probe() registers GLINK, PDM and SSR remoteproc subdevices,
> and may also register a sysmon subdevice. The probe failure path
> removes all of these subdevices, but q6v5_wcss_remove() only removes
> the PDM subdevice.
>
> As a result, GLINK, SSR and sysmon resources and registrations can
> remain after the WCSS driver is removed.
>
> Call rproc_del() before tearing down the Qualcomm-specific resources,
> matching the teardown order used by the other Qualcomm Q6 remoteproc
> drivers, and remove the GLINK, sysmon and SSR subdevices together with
> the existing PDM cleanup.
>
> This issue was found by manual code inspection.
>
> Fixes: 8a226e2c71bb ("remoteproc: wcss: add support for rpmsg communication")
> Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404")
> Cc: stable@vger.kernel.org
> Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> ---
> drivers/remoteproc/qcom_q6v5_wcss.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.
More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.
This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down. Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.
Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem, how to document usage of LLM and how what you should not
do if this was posted in a good faith.
Best regards,
Krzysztof
Hi Krzysztof,
Thank you for your feedback.
On Mon, 21 Sept 2026 at 23:14, <krzk@kernel.org> wrote:
>
>
> On Fri, 18 Sep 2026 12:13:21 +0800, Guangshuo Li wrote:
> > q6v5_wcss_probe() registers GLINK, PDM and SSR remoteproc subdevices,
> > and may also register a sysmon subdevice. The probe failure path
> > removes all of these subdevices, but q6v5_wcss_remove() only removes
> > the PDM subdevice.
> >
> > As a result, GLINK, SSR and sysmon resources and registrations can
> > remain after the WCSS driver is removed.
> >
> > Call rproc_del() before tearing down the Qualcomm-specific resources,
> > matching the teardown order used by the other Qualcomm Q6 remoteproc
> > drivers, and remove the GLINK, sysmon and SSR subdevices together with
> > the existing PDM cleanup.
> >
> > This issue was found by manual code inspection.
> >
> > Fixes: 8a226e2c71bb ("remoteproc: wcss: add support for rpmsg communication")
> > Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
> > ---
> > drivers/remoteproc/qcom_q6v5_wcss.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
>
>
> You sent multiple independent patches, to multiple independent
> subsystems. The amount of these patches clearly suggest this was
> AI generated and most likely not tested.
>
> More importantly, you sent all this work without properly organizing
> relevant patches into patchsets. This makes reviewing difficult
> and might cause multiple reviewers to address the same issue.
> Replying to the entire set is impossible and requires handling each
> patch independently, instead of applying or discarding the set.
> Maintainers also won't see the bigger picture of your work. Quite
> worrying.
>
> This is on the verge of hostile patch: bomb us with so many
> contributions, we won't be able to handle them in efficient manner,
> like responding ONCE to ask you to slow down. Considering all this
> is untested and LLM generated, I have even more doubts whether this
> should be considered for review.
>
> Please read kernel documentation BEFORE posting more work. It will
> explain you how to identify subsystems, how to organize your work per
> subsystem, how to document usage of LLM and how what you should not
> do if this was posted in a good faith.
>
> Best regards,
> Krzysztof
>
>
>
I would like to clarify that these patches were manually reviewed and
audited by us; they were not simply generated and submitted by an LLM.
However, I understand why the recent submission pattern may have given
that impression. We sent too many patches in a short period of time,
and we also failed to respond to some discussions in a timely manner,
which made the situation look worse.
Many of the recent patches, especially the v2 revisions, are
corrections and improvements based on previous review feedback rather
than completely new untested changes. That said, we recognize that the
way we submitted them increased the burden on maintainers and
reviewers.
We apologize for the pressure this caused to the community. We will be
more careful about organizing patches by subsystem, preparing proper
patchsets, and following the kernel contribution guidelines before
sending future work.
Thank you again for pointing this out.
Best regards,
Guangshuo
Hi Guangshuo,
kernel test robot noticed the following build errors:
[auto build test ERROR on remoteproc/rproc-next]
[also build test ERROR on linus/master v7.3-rc3 next-20260918]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Guangshuo-Li/remoteproc-qcom-q6v5-wcss-remove-all-subdevices-on-unbind/20260918-121321
base: https://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link: https://lore.kernel.org/r/20260918041321.3532355-1-lgs201920130244%40gmail.com
patch subject: [PATCH] remoteproc: qcom: q6v5-wcss: remove all subdevices on unbind
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20260919/202609192136.6T6AV8Dt-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260919/202609192136.6T6AV8Dt-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/202609192136.6T6AV8Dt-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/remoteproc/qcom_q6v5_wcss.c: In function 'q6v5_wcss_remove':
>> drivers/remoteproc/qcom_q6v5_wcss.c:1051:1: error: invalid use of void expression
1051 | + qcom_remove_ssr_subdev(rproc, &wcss->ssr_subdev);
| ^
vim +1051 drivers/remoteproc/qcom_q6v5_wcss.c
1039
1040 static void q6v5_wcss_remove(struct platform_device *pdev)
1041 {
1042 struct rproc *rproc = platform_get_drvdata(pdev);
1043 struct q6v5_wcss *wcss = rproc->priv;
1044
1045 rproc_del(rproc);
1046
1047 qcom_q6v5_deinit(&wcss->q6v5);
1048 qcom_remove_glink_subdev(rproc, &wcss->glink_subdev);
1049 qcom_remove_pdm_subdev(rproc, &wcss->pdm_subdev);
1050 qcom_remove_sysmon_subdev(wcss->sysmon);
> 1051 + qcom_remove_ssr_subdev(rproc, &wcss->ssr_subdev);
1052 }
1053
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Hi Guangshuo,
kernel test robot noticed the following build errors:
[auto build test ERROR on remoteproc/rproc-next]
[also build test ERROR on linus/master v7.3-rc3 next-20260918]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Guangshuo-Li/remoteproc-qcom-q6v5-wcss-remove-all-subdevices-on-unbind/20260918-121321
base: https://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link: https://lore.kernel.org/r/20260918041321.3532355-1-lgs201920130244%40gmail.com
patch subject: [PATCH] remoteproc: qcom: q6v5-wcss: remove all subdevices on unbind
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20260919/202609191513.bywryVFw-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f)
rustc: rustc 1.96.0 (ac68faa20 2026-05-25)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260919/202609191513.bywryVFw-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/202609191513.bywryVFw-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/remoteproc/qcom_q6v5_wcss.c:1051:1: error: invalid argument type 'void' to unary expression
1051 | + qcom_remove_ssr_subdev(rproc, &wcss->ssr_subdev);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
vim +/void +1051 drivers/remoteproc/qcom_q6v5_wcss.c
1039
1040 static void q6v5_wcss_remove(struct platform_device *pdev)
1041 {
1042 struct rproc *rproc = platform_get_drvdata(pdev);
1043 struct q6v5_wcss *wcss = rproc->priv;
1044
1045 rproc_del(rproc);
1046
1047 qcom_q6v5_deinit(&wcss->q6v5);
1048 qcom_remove_glink_subdev(rproc, &wcss->glink_subdev);
1049 qcom_remove_pdm_subdev(rproc, &wcss->pdm_subdev);
1050 qcom_remove_sysmon_subdev(wcss->sysmon);
> 1051 + qcom_remove_ssr_subdev(rproc, &wcss->ssr_subdev);
1052 }
1053
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
© 2016 - 2026 Red Hat, Inc.