Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: SOF: Use no_reply calls for TX

Convert all existing calls that pass "NULL, 0" for reply data to the new
no_reply calls. Also convert any calls that pass in data but don't
actually parse the result.

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20230419194057.42205-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Curtis Malainey and committed by
Mark Brown
367fd6ff ccb541a0

+37 -71
+2 -6
sound/soc/sof/compress.c
··· 135 135 struct sof_compr_stream *sstream = cstream->runtime->private_data; 136 136 struct snd_soc_pcm_runtime *rtd = cstream->private_data; 137 137 struct sof_ipc_stream stream; 138 - struct sof_ipc_reply reply; 139 138 struct snd_sof_pcm *spcm; 140 139 int ret = 0; 141 140 ··· 147 148 stream.comp_id = spcm->stream[cstream->direction].comp_id; 148 149 149 150 if (spcm->prepared[cstream->direction]) { 150 - ret = sof_ipc_tx_message(sdev->ipc, &stream, sizeof(stream), 151 - &reply, sizeof(reply)); 151 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &stream, sizeof(stream)); 152 152 if (!ret) 153 153 spcm->prepared[cstream->direction] = false; 154 154 } ··· 271 273 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component); 272 274 struct snd_soc_pcm_runtime *rtd = cstream->private_data; 273 275 struct sof_ipc_stream stream; 274 - struct sof_ipc_reply reply; 275 276 struct snd_sof_pcm *spcm; 276 277 277 278 spcm = snd_sof_find_spcm_dai(component, rtd); ··· 299 302 break; 300 303 } 301 304 302 - return sof_ipc_tx_message(sdev->ipc, &stream, sizeof(stream), 303 - &reply, sizeof(reply)); 305 + return sof_ipc_tx_message_no_reply(sdev->ipc, &stream, sizeof(stream)); 304 306 } 305 307 306 308 static int sof_compr_copy_playback(struct snd_compr_runtime *rtd,
+1 -1
sound/soc/sof/intel/hda-loader.c
··· 557 557 goto cleanup; 558 558 } 559 559 560 - ret = sof_ipc_tx_message(sdev->ipc, &msg, 0, NULL, 0); 560 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &msg, 0); 561 561 562 562 ret1 = cl_trigger(sdev, hext_stream, SNDRV_PCM_TRIGGER_STOP); 563 563 if (ret1 < 0) {
+4 -8
sound/soc/sof/ipc3-dtrace.c
··· 150 150 struct sof_ipc_trace_filter_elem *elems) 151 151 { 152 152 struct sof_ipc_trace_filter *msg; 153 - struct sof_ipc_reply reply; 154 153 size_t size; 155 154 int ret; 156 155 ··· 171 172 dev_err(sdev->dev, "enabling device failed: %d\n", ret); 172 173 goto error; 173 174 } 174 - ret = sof_ipc_tx_message(sdev->ipc, msg, msg->hdr.size, &reply, sizeof(reply)); 175 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, msg, msg->hdr.size); 175 176 pm_runtime_mark_last_busy(sdev->dev); 176 177 pm_runtime_put_autosuspend(sdev->dev); 177 178 178 179 error: 179 180 kfree(msg); 180 - return ret ? ret : reply.error; 181 + return ret; 181 182 } 182 183 183 184 static ssize_t dfsentry_trace_filter_write(struct file *file, const char __user *from, ··· 433 434 struct sof_ipc_fw_ready *ready = &sdev->fw_ready; 434 435 struct sof_ipc_fw_version *v = &ready->version; 435 436 struct sof_ipc_dma_trace_params_ext params; 436 - struct sof_ipc_reply ipc_reply; 437 437 int ret; 438 438 439 439 if (!sdev->fw_trace_is_supported) ··· 472 474 473 475 /* send IPC to the DSP */ 474 476 priv->dtrace_state = SOF_DTRACE_INITIALIZING; 475 - ret = sof_ipc_tx_message(sdev->ipc, &params, sizeof(params), &ipc_reply, sizeof(ipc_reply)); 477 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &params, sizeof(params)); 476 478 if (ret < 0) { 477 479 dev_err(sdev->dev, "can't set params for DMA for trace %d\n", ret); 478 480 goto trace_release; ··· 602 604 struct sof_ipc_fw_ready *ready = &sdev->fw_ready; 603 605 struct sof_ipc_fw_version *v = &ready->version; 604 606 struct sof_ipc_cmd_hdr hdr; 605 - struct sof_ipc_reply ipc_reply; 606 607 int ret; 607 608 608 609 if (!sdev->fw_trace_is_supported || priv->dtrace_state == SOF_DTRACE_DISABLED) ··· 620 623 hdr.size = sizeof(hdr); 621 624 hdr.cmd = SOF_IPC_GLB_TRACE_MSG | SOF_IPC_TRACE_DMA_FREE; 622 625 623 - ret = sof_ipc_tx_message(sdev->ipc, &hdr, hdr.size, 624 - &ipc_reply, sizeof(ipc_reply)); 626 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &hdr, hdr.size); 625 627 if (ret < 0) 626 628 dev_err(sdev->dev, "DMA_TRACE_FREE failed with error: %d\n", ret); 627 629 }
+2 -4
sound/soc/sof/ipc3-pcm.c
··· 19 19 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component); 20 20 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); 21 21 struct sof_ipc_stream stream; 22 - struct sof_ipc_reply reply; 23 22 struct snd_sof_pcm *spcm; 24 23 25 24 spcm = snd_sof_find_spcm_dai(component, rtd); ··· 33 34 stream.comp_id = spcm->stream[substream->stream].comp_id; 34 35 35 36 /* send IPC to the DSP */ 36 - return sof_ipc_tx_message(sdev->ipc, &stream, sizeof(stream), &reply, sizeof(reply)); 37 + return sof_ipc_tx_message_no_reply(sdev->ipc, &stream, sizeof(stream)); 37 38 } 38 39 39 40 static int sof_ipc3_pcm_hw_params(struct snd_soc_component *component, ··· 145 146 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); 146 147 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component); 147 148 struct sof_ipc_stream stream; 148 - struct sof_ipc_reply reply; 149 149 struct snd_sof_pcm *spcm; 150 150 151 151 spcm = snd_sof_find_spcm_dai(component, rtd); ··· 176 178 } 177 179 178 180 /* send IPC to the DSP */ 179 - return sof_ipc_tx_message(sdev->ipc, &stream, sizeof(stream), &reply, sizeof(reply)); 181 + return sof_ipc_tx_message_no_reply(sdev->ipc, &stream, sizeof(stream)); 180 182 } 181 183 182 184 static void ssp_dai_config_pcm_params_match(struct snd_sof_dev *sdev, const char *link_name,
+10 -23
sound/soc/sof/ipc3-topology.c
··· 1627 1627 static int sof_ipc3_route_setup(struct snd_sof_dev *sdev, struct snd_sof_route *sroute) 1628 1628 { 1629 1629 struct sof_ipc_pipe_comp_connect connect; 1630 - struct sof_ipc_reply reply; 1631 1630 int ret; 1632 1631 1633 1632 connect.hdr.size = sizeof(connect); ··· 1639 1640 sroute->sink_widget->widget->name); 1640 1641 1641 1642 /* send ipc */ 1642 - ret = sof_ipc_tx_message(sdev->ipc, &connect, sizeof(connect), &reply, sizeof(reply)); 1643 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &connect, sizeof(connect)); 1643 1644 if (ret < 0) 1644 1645 dev_err(sdev->dev, "%s: route %s -> %s failed\n", __func__, 1645 1646 sroute->src_widget->widget->name, sroute->sink_widget->widget->name); ··· 1788 1789 fcomp.id = scontrol->comp_id; 1789 1790 1790 1791 /* send IPC to the DSP */ 1791 - return sof_ipc_tx_message(sdev->ipc, &fcomp, sizeof(fcomp), NULL, 0); 1792 + return sof_ipc_tx_message_no_reply(sdev->ipc, &fcomp, sizeof(fcomp)); 1792 1793 } 1793 1794 1794 1795 /* send pcm params ipc */ ··· 1796 1797 { 1797 1798 struct snd_soc_component *scomp = swidget->scomp; 1798 1799 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); 1799 - struct sof_ipc_pcm_params_reply ipc_params_reply; 1800 1800 struct snd_pcm_hw_params *params; 1801 1801 struct sof_ipc_pcm_params pcm; 1802 1802 struct snd_sof_pcm *spcm; ··· 1839 1841 } 1840 1842 1841 1843 /* send IPC to the DSP */ 1842 - ret = sof_ipc_tx_message(sdev->ipc, &pcm, sizeof(pcm), 1843 - &ipc_params_reply, sizeof(ipc_params_reply)); 1844 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &pcm, sizeof(pcm)); 1844 1845 if (ret < 0) 1845 1846 dev_err(scomp->dev, "%s: PCM params failed for %s\n", __func__, 1846 1847 swidget->widget->name); ··· 1853 1856 struct snd_soc_component *scomp = swidget->scomp; 1854 1857 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); 1855 1858 struct sof_ipc_stream stream; 1856 - struct sof_ipc_reply reply; 1857 1859 int ret; 1858 1860 1859 1861 /* set IPC stream params */ ··· 1861 1865 stream.comp_id = swidget->comp_id; 1862 1866 1863 1867 /* send IPC to the DSP */ 1864 - ret = sof_ipc_tx_message(sdev->ipc, &stream, sizeof(stream), &reply, sizeof(reply)); 1868 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &stream, sizeof(stream)); 1865 1869 if (ret < 0) 1866 1870 dev_err(scomp->dev, "%s: Failed to trigger %s\n", __func__, swidget->widget->name); 1867 1871 ··· 1978 1982 static int sof_ipc3_complete_pipeline(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget) 1979 1983 { 1980 1984 struct sof_ipc_pipe_ready ready; 1981 - struct sof_ipc_reply reply; 1982 1985 int ret; 1983 1986 1984 1987 dev_dbg(sdev->dev, "tplg: complete pipeline %s id %d\n", ··· 1988 1993 ready.hdr.cmd = SOF_IPC_GLB_TPLG_MSG | SOF_IPC_TPLG_PIPE_COMPLETE; 1989 1994 ready.comp_id = swidget->comp_id; 1990 1995 1991 - ret = sof_ipc_tx_message(sdev->ipc, &ready, sizeof(ready), &reply, sizeof(reply)); 1996 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &ready, sizeof(ready)); 1992 1997 if (ret < 0) 1993 1998 return ret; 1994 1999 ··· 2004 2009 }, 2005 2010 .id = swidget->comp_id, 2006 2011 }; 2007 - struct sof_ipc_reply reply; 2008 2012 int ret; 2009 2013 2010 2014 if (!swidget->private) ··· 2023 2029 break; 2024 2030 } 2025 2031 2026 - ret = sof_ipc_tx_message(sdev->ipc, &ipc_free, sizeof(ipc_free), 2027 - &reply, sizeof(reply)); 2032 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &ipc_free, sizeof(ipc_free)); 2028 2033 if (ret < 0) 2029 2034 dev_err(sdev->dev, "failed to free widget %s\n", swidget->widget->name); 2030 2035 ··· 2037 2044 struct snd_sof_dai *dai = swidget->private; 2038 2045 struct sof_dai_private_data *private; 2039 2046 struct sof_ipc_dai_config *config; 2040 - struct sof_ipc_reply reply; 2041 2047 int ret = 0; 2042 2048 2043 2049 if (!dai || !dai->private) { ··· 2110 2118 2111 2119 /* only send the IPC if the widget is set up in the DSP */ 2112 2120 if (swidget->use_count > 0) { 2113 - ret = sof_ipc_tx_message(sdev->ipc, config, config->hdr.size, 2114 - &reply, sizeof(reply)); 2121 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, config, config->hdr.size); 2115 2122 if (ret < 0) 2116 2123 dev_err(sdev->dev, "Failed to set dai config for %s\n", dai->name); 2117 2124 ··· 2123 2132 2124 2133 static int sof_ipc3_widget_setup(struct snd_sof_dev *sdev, struct snd_sof_widget *swidget) 2125 2134 { 2126 - struct sof_ipc_comp_reply reply; 2127 2135 int ret; 2128 2136 2129 2137 if (!swidget->private) ··· 2136 2146 struct sof_dai_private_data *dai_data = dai->private; 2137 2147 struct sof_ipc_comp *comp = &dai_data->comp_dai->comp; 2138 2148 2139 - ret = sof_ipc_tx_message(sdev->ipc, dai_data->comp_dai, 2140 - comp->hdr.size, &reply, sizeof(reply)); 2149 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, dai_data->comp_dai, comp->hdr.size); 2141 2150 break; 2142 2151 } 2143 2152 case snd_soc_dapm_scheduler: ··· 2144 2155 struct sof_ipc_pipe_new *pipeline; 2145 2156 2146 2157 pipeline = swidget->private; 2147 - ret = sof_ipc_tx_message(sdev->ipc, pipeline, sizeof(*pipeline), 2148 - &reply, sizeof(reply)); 2158 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, pipeline, sizeof(*pipeline)); 2149 2159 break; 2150 2160 } 2151 2161 default: ··· 2152 2164 struct sof_ipc_cmd_hdr *hdr; 2153 2165 2154 2166 hdr = swidget->private; 2155 - ret = sof_ipc_tx_message(sdev->ipc, swidget->private, hdr->size, 2156 - &reply, sizeof(reply)); 2167 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, swidget->private, hdr->size); 2157 2168 break; 2158 2169 } 2159 2170 }
+3 -9
sound/soc/sof/ipc3.c
··· 1044 1044 .hdr.size = sizeof(core_cfg), 1045 1045 .hdr.cmd = SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CORE_ENABLE, 1046 1046 }; 1047 - struct sof_ipc_reply reply; 1048 1047 1049 1048 if (on) 1050 1049 core_cfg.enable_mask = sdev->enabled_cores_mask | BIT(core_idx); 1051 1050 else 1052 1051 core_cfg.enable_mask = sdev->enabled_cores_mask & ~BIT(core_idx); 1053 1052 1054 - return sof_ipc3_tx_msg(sdev, &core_cfg, sizeof(core_cfg), 1055 - &reply, sizeof(reply), false); 1053 + return sof_ipc3_tx_msg(sdev, &core_cfg, sizeof(core_cfg), NULL, 0, false); 1056 1054 } 1057 1055 1058 1056 static int sof_ipc3_ctx_ipc(struct snd_sof_dev *sdev, int cmd) ··· 1059 1061 .hdr.size = sizeof(pm_ctx), 1060 1062 .hdr.cmd = SOF_IPC_GLB_PM_MSG | cmd, 1061 1063 }; 1062 - struct sof_ipc_reply reply; 1063 1064 1064 1065 /* send ctx save ipc to dsp */ 1065 - return sof_ipc3_tx_msg(sdev, &pm_ctx, sizeof(pm_ctx), 1066 - &reply, sizeof(reply), false); 1066 + return sof_ipc3_tx_msg(sdev, &pm_ctx, sizeof(pm_ctx), NULL, 0, false); 1067 1067 } 1068 1068 1069 1069 static int sof_ipc3_ctx_save(struct snd_sof_dev *sdev) ··· 1077 1081 static int sof_ipc3_set_pm_gate(struct snd_sof_dev *sdev, u32 flags) 1078 1082 { 1079 1083 struct sof_ipc_pm_gate pm_gate; 1080 - struct sof_ipc_reply reply; 1081 1084 1082 1085 memset(&pm_gate, 0, sizeof(pm_gate)); 1083 1086 ··· 1086 1091 pm_gate.flags = flags; 1087 1092 1088 1093 /* send pm_gate ipc to dsp */ 1089 - return sof_ipc_tx_message_no_pm(sdev->ipc, &pm_gate, sizeof(pm_gate), 1090 - &reply, sizeof(reply)); 1094 + return sof_ipc_tx_message_no_pm_no_reply(sdev->ipc, &pm_gate, sizeof(pm_gate)); 1091 1095 } 1092 1096 1093 1097 static const struct sof_ipc_pm_ops ipc3_pm_ops = {
+3 -3
sound/soc/sof/ipc4-pcm.c
··· 39 39 msg.data_size = ipc_size; 40 40 msg.data_ptr = trigger_list; 41 41 42 - return sof_ipc_tx_message(sdev->ipc, &msg, ipc_size, NULL, 0); 42 + return sof_ipc_tx_message_no_reply(sdev->ipc, &msg, ipc_size); 43 43 } 44 44 45 45 int sof_ipc4_set_pipeline_state(struct snd_sof_dev *sdev, u32 id, u32 state) ··· 57 57 58 58 msg.primary = primary; 59 59 60 - return sof_ipc_tx_message(sdev->ipc, &msg, 0, NULL, 0); 60 + return sof_ipc_tx_message_no_reply(sdev->ipc, &msg, 0); 61 61 } 62 62 EXPORT_SYMBOL(sof_ipc4_set_pipeline_state); 63 63 ··· 272 272 if (enable) 273 273 msg.primary |= SOF_IPC4_GLB_CHAIN_DMA_ENABLE_MASK; 274 274 275 - return sof_ipc_tx_message(sdev->ipc, &msg, 0, NULL, 0); 275 + return sof_ipc_tx_message_no_reply(sdev->ipc, &msg, 0); 276 276 } 277 277 278 278 static int sof_ipc4_trigger_pipelines(struct snd_soc_component *component,
+5 -5
sound/soc/sof/ipc4-topology.c
··· 2118 2118 msg->data_size = ipc_size; 2119 2119 msg->data_ptr = ipc_data; 2120 2120 2121 - ret = sof_ipc_tx_message(sdev->ipc, msg, ipc_size, NULL, 0); 2121 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, msg, ipc_size); 2122 2122 if (ret < 0) { 2123 2123 dev_err(sdev->dev, "failed to create module %s\n", swidget->widget->name); 2124 2124 ··· 2162 2162 2163 2163 msg.primary = header; 2164 2164 2165 - ret = sof_ipc_tx_message(sdev->ipc, &msg, 0, NULL, 0); 2165 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &msg, 0); 2166 2166 if (ret < 0) 2167 2167 dev_err(sdev->dev, "failed to free pipeline widget %s\n", 2168 2168 swidget->widget->name); ··· 2320 2320 msg.primary = header; 2321 2321 msg.extension = extension; 2322 2322 2323 - return sof_ipc_tx_message(sdev->ipc, &msg, msg.data_size, NULL, 0); 2323 + return sof_ipc_tx_message_no_reply(sdev->ipc, &msg, msg.data_size); 2324 2324 } 2325 2325 2326 2326 static int sof_ipc4_route_setup(struct snd_sof_dev *sdev, struct snd_sof_route *sroute) ··· 2403 2403 msg.primary = header; 2404 2404 msg.extension = extension; 2405 2405 2406 - ret = sof_ipc_tx_message(sdev->ipc, &msg, 0, NULL, 0); 2406 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &msg, 0); 2407 2407 if (ret < 0) { 2408 2408 dev_err(sdev->dev, "failed to bind modules %s:%d -> %s:%d\n", 2409 2409 src_widget->widget->name, sroute->src_queue_id, ··· 2462 2462 msg.primary = header; 2463 2463 msg.extension = extension; 2464 2464 2465 - ret = sof_ipc_tx_message(sdev->ipc, &msg, 0, NULL, 0); 2465 + ret = sof_ipc_tx_message_no_reply(sdev->ipc, &msg, 0); 2466 2466 if (ret < 0) 2467 2467 dev_err(sdev->dev, "failed to unbind modules %s:%d -> %s:%d\n", 2468 2468 src_widget->widget->name, sroute->src_queue_id,
+1 -2
sound/soc/sof/sof-client-ipc-flood-test.c
··· 64 64 struct sof_ipc_flood_priv *priv = cdev->data; 65 65 struct device *dev = &cdev->auxdev.dev; 66 66 struct sof_ipc_cmd_hdr hdr; 67 - struct sof_ipc_reply reply; 68 67 u64 min_response_time = U64_MAX; 69 68 ktime_t start, end, test_end; 70 69 u64 avg_response_time = 0; ··· 83 84 /* send test IPC's */ 84 85 while (1) { 85 86 start = ktime_get(); 86 - ret = sof_client_ipc_tx_message(cdev, &hdr, &reply, sizeof(reply)); 87 + ret = sof_client_ipc_tx_message_no_reply(cdev, &hdr); 87 88 end = ktime_get(); 88 89 89 90 if (ret < 0)
+4 -8
sound/soc/sof/sof-client-probes-ipc3.c
··· 65 65 { 66 66 struct sof_ipc_probe_dma_add_params *msg; 67 67 size_t size = struct_size(msg, dma, 1); 68 - struct sof_ipc_reply reply; 69 68 int ret; 70 69 71 70 msg = kmalloc(size, GFP_KERNEL); ··· 76 77 msg->dma[0].stream_tag = stream_tag; 77 78 msg->dma[0].dma_buffer_size = buffer_size; 78 79 79 - ret = sof_client_ipc_tx_message(cdev, msg, &reply, sizeof(reply)); 80 + ret = sof_client_ipc_tx_message_no_reply(cdev, msg); 80 81 kfree(msg); 81 82 return ret; 82 83 } ··· 92 93 static int ipc3_probes_deinit(struct sof_client_dev *cdev) 93 94 { 94 95 struct sof_ipc_cmd_hdr msg; 95 - struct sof_ipc_reply reply; 96 96 97 97 msg.size = sizeof(msg); 98 98 msg.cmd = SOF_IPC_GLB_PROBE | SOF_IPC_PROBE_DEINIT; 99 99 100 - return sof_client_ipc_tx_message(cdev, &msg, &reply, sizeof(reply)); 100 + return sof_client_ipc_tx_message_no_reply(cdev, &msg); 101 101 } 102 102 103 103 static int ipc3_probes_info(struct sof_client_dev *cdev, unsigned int cmd, ··· 178 180 { 179 181 struct sof_ipc_probe_point_add_params *msg; 180 182 size_t size = struct_size(msg, desc, num_desc); 181 - struct sof_ipc_reply reply; 182 183 int ret; 183 184 184 185 msg = kmalloc(size, GFP_KERNEL); ··· 188 191 msg->hdr.cmd = SOF_IPC_GLB_PROBE | SOF_IPC_PROBE_POINT_ADD; 189 192 memcpy(&msg->desc[0], desc, size - sizeof(*msg)); 190 193 191 - ret = sof_client_ipc_tx_message(cdev, msg, &reply, sizeof(reply)); 194 + ret = sof_client_ipc_tx_message_no_reply(cdev, msg); 192 195 kfree(msg); 193 196 return ret; 194 197 } ··· 208 211 { 209 212 struct sof_ipc_probe_point_remove_params *msg; 210 213 size_t size = struct_size(msg, buffer_id, num_buffer_id); 211 - struct sof_ipc_reply reply; 212 214 int ret; 213 215 214 216 msg = kmalloc(size, GFP_KERNEL); ··· 218 222 msg->hdr.cmd = SOF_IPC_GLB_PROBE | SOF_IPC_PROBE_POINT_REMOVE; 219 223 memcpy(&msg->buffer_id[0], buffer_id, size - sizeof(*msg)); 220 224 221 - ret = sof_client_ipc_tx_message(cdev, msg, &reply, sizeof(reply)); 225 + ret = sof_client_ipc_tx_message_no_reply(cdev, msg); 222 226 kfree(msg); 223 227 return ret; 224 228 }
+2 -2
sound/soc/sof/sof-client-probes-ipc4.c
··· 129 129 msg.data_size = sizeof(cfg); 130 130 msg.data_ptr = &cfg; 131 131 132 - return sof_client_ipc_tx_message(cdev, &msg, NULL, 0); 132 + return sof_client_ipc_tx_message_no_reply(cdev, &msg); 133 133 } 134 134 135 135 /** ··· 156 156 msg.data_size = 0; 157 157 msg.data_ptr = NULL; 158 158 159 - return sof_client_ipc_tx_message(cdev, &msg, NULL, 0); 159 + return sof_client_ipc_tx_message_no_reply(cdev, &msg); 160 160 } 161 161 162 162 /**