diff options
Diffstat (limited to 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c')
| -rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c index 8209a42dea72..6a333dd80b2d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -711,7 +711,6 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev,  	size_t mp_path_len;  	u32 i, j;  	char end = '\0'; -	size_t reqsz;  	for (i = 0; i < table_size; i++) {  		if (mapping_table[i].chipid == chip && @@ -726,8 +725,7 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev,  		return NULL;  	} -	reqsz = sizeof(*fwreq) + n_fwnames * sizeof(struct brcmf_fw_item); -	fwreq = kzalloc(reqsz, GFP_KERNEL); +	fwreq = kzalloc(struct_size(fwreq, items, n_fwnames), GFP_KERNEL);  	if (!fwreq)  		return NULL; @@ -743,6 +741,7 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev,  	for (j = 0; j < n_fwnames; j++) {  		fwreq->items[j].path = fwnames[j].path; +		fwnames[j].path[0] = '\0';  		/* check if firmware path is provided by module parameter */  		if (brcmf_mp_global.firmware_path[0] != '\0') {  			strlcpy(fwnames[j].path, mp_path, |