@@ -80,10 +80,7 @@ static int dcblock_init(struct processing_module *mod)
8080{
8181 struct module_data * md = & mod -> priv ;
8282 struct comp_dev * dev = mod -> dev ;
83- struct module_config * ipc_dcblock = & md -> cfg ;
8483 struct comp_data * cd ;
85- size_t bs = ipc_dcblock -> size ;
86- int ret ;
8784
8885 comp_info (dev , "entry" );
8986
@@ -98,24 +95,11 @@ static int dcblock_init(struct processing_module *mod)
9895 cd -> model_handler = comp_data_blob_handler_new (dev );
9996 if (!cd -> model_handler ) {
10097 comp_err (dev , "comp_data_blob_handler_new() failed." );
101- ret = - ENOMEM ;
102- goto err_cd ;
103- }
104-
105- ret = comp_init_data_blob (cd -> model_handler , bs , ipc_dcblock -> data );
106- if (ret < 0 ) {
107- comp_err (dev , "comp_init_data_blob() failed with error: %d" , ret );
108- goto err_model_cd ;
98+ rfree (cd );
99+ return - ENOMEM ;
109100 }
110101
111102 return 0 ;
112-
113- err_model_cd :
114- comp_data_blob_handler_free (cd -> model_handler );
115-
116- err_cd :
117- rfree (cd );
118- return ret ;
119103}
120104
121105/**
@@ -190,6 +174,7 @@ static int dcblock_prepare(struct processing_module *mod,
190174 struct comp_data * cd = module_get_private_data (mod );
191175 struct comp_buffer * sourceb , * sinkb ;
192176 struct comp_dev * dev = mod -> dev ;
177+ size_t data_size ;
193178
194179 comp_info (dev , "entry" );
195180
@@ -219,8 +204,8 @@ static int dcblock_prepare(struct processing_module *mod,
219204 comp_info (mod -> dev , "source_format=%d, sink_format=%d" ,
220205 cd -> source_format , cd -> sink_format );
221206
222- cd -> config = comp_get_data_blob (cd -> model_handler , NULL , NULL );
223- if (cd -> config )
207+ cd -> config = comp_get_data_blob (cd -> model_handler , & data_size , NULL );
208+ if (cd -> config && data_size > 0 )
224209 dcblock_copy_coefficients (mod );
225210 else
226211 dcblock_set_passthrough (mod );
0 commit comments