Dmitry Antipov <dmantipov@xxxxxxxxx> writes: > Commit 25d0dbcbd5c7 ("ath10k: split ce initialization and allocation") > changes 'ath10k_ce_init_src_ring()' and 'ath10k_ce_init_dest_ring()' > so these functions can't return -ENOMEM but always returns 0. This way > both of them may be converted to 'void', and 'ath10k_ce_init_pipe()' > may be simplified accordingly. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Signed-off-by: Dmitry Antipov <dmantipov@xxxxxxxxx> > --- > v3: split to smaller units per Jeff's suggestion > v2: change 'ath10k_ce_alloc_rri()' to return -ENOMEM in case > of 'dma_alloc_coherent()' failure and fix error handling in > 'ath10k_snoc_hif_power_up()' [...] > -static int ath10k_ce_init_src_ring(struct ath10k *ar, > - unsigned int ce_id, > - const struct ce_attr *attr) > +static void ath10k_ce_init_src_ring(struct ath10k *ar, > + unsigned int ce_id, > + const struct ce_attr *attr) I have on purpose avoided to use void functions in ath10k/ath11k/ath12k. The problem is that if some of the functions return void and some of the functions return int it's much harder to review the code. If most/all of the functions return the same error value type as int it makes a lot easier to read the code. Is there a benefit from function returning void? Why do this in the first place? -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches