26.12.2021 18:35, Hector Martin пишет: > -static char *brcm_alt_fw_path(const char *path, const char *board_type) > +static const char **brcm_alt_fw_paths(const char *path, const char *board_type) > { > char alt_path[BRCMF_FW_NAME_LEN]; > + char **alt_paths; > char suffix[5]; > > strscpy(alt_path, path, BRCMF_FW_NAME_LEN); > @@ -609,27 +612,46 @@ static char *brcm_alt_fw_path(const char *path, const char *board_type) > strlcat(alt_path, board_type, BRCMF_FW_NAME_LEN); > strlcat(alt_path, suffix, BRCMF_FW_NAME_LEN); > > - return kstrdup(alt_path, GFP_KERNEL); > + alt_paths = kzalloc(sizeof(char *) * 2, GFP_KERNEL); array_size()? > + alt_paths[0] = kstrdup(alt_path, GFP_KERNEL); > + > + return (const char **)alt_paths; Why this casting is needed? > +}