2014-08-11 08:35:53

by Daniel Drake

[permalink] [raw]
Subject: brcmfmac: command request size is determined by expected response size?

Hi,

Looking at brcmfmac in Linux 3.16 with a BCM43241 SDIO card, I noticed that
brcmf_construct_reginfo() constructs and submits a really large
(1.5kb) request to the card. However, the actual request seems really
small and trivial (a header, the word "chanspecs" and not much more),
and we end up sending a whole lot of zeroes to fill the 1.5kb
allocation (MEDLEN).

I can understand that the card may wish to send 1.5kb in response, but
does the request itself really need to be the same size?

Thanks
Daniel


2014-08-11 08:53:05

by Arend van Spriel

[permalink] [raw]
Subject: Re: brcmfmac: command request size is determined by expected response size?

On 08/11/2014 10:35 AM, Daniel Drake wrote:
> Hi,
>
> Looking at brcmfmac in Linux 3.16 with a BCM43241 SDIO card, I noticed that
> brcmf_construct_reginfo() constructs and submits a really large
> (1.5kb) request to the card. However, the actual request seems really
> small and trivial (a header, the word "chanspecs" and not much more),
> and we end up sending a whole lot of zeroes to fill the 1.5kb
> allocation (MEDLEN).
>
> I can understand that the card may wish to send 1.5kb in response, but
> does the request itself really need to be the same size?

The main reason is indeed that the request buffer is used by the device
firmware for the response message. That is a design decision in the
firmware that we must adhere to.

Regards,
Arend