Re: [PATCH 10/34] brcmfmac: firmware: Allow platform to override macaddr

From: Hector Martin
Date: Mon Jan 03 2022 - 00:42:56 EST


On 2022/01/02 14:50, Linus Walleij wrote:
> On Sun, Dec 26, 2021 at 4:37 PM Hector Martin <marcan@xxxxxxxxx> wrote:
>
>> On Device Tree platforms, it is customary to be able to set the MAC
>> address via the Device Tree, as it is often stored in system firmware.
>> This is particularly relevant for Apple ARM64 platforms, where this
>> information comes from system configuration and passed through by the
>> bootloader into the DT.
>>
>> Implement support for this by fetching the platform MAC address and
>> adding or replacing the macaddr= property in nvram. This becomes the
>> dongle's default MAC address.
>>
>> On platforms with an SROM MAC address, this overrides it. On platforms
>> without one, such as Apple ARM64 devices, this is required for the
>> firmware to boot (it will fail if it does not have a valid MAC at all).
>>
>> Signed-off-by: Hector Martin <marcan@xxxxxxxxx>
>
> This looks very helpful.
>
>> + /* Add space for properties we may add */
>> + size += strlen(BRCMF_FW_DEFAULT_BOARDREV) + 1;
>> + size += BRCMF_FW_MACADDR_LEN + 1;
>
> Add some note to the commit log why you also make space for
> boardrev? (Looks useful.) Is the boardrev spacing in the right
> patch?

Ah, that was a drive-by fix. While adding the MACADDR space I noticed we
weren't allocating space for BOARDREV... not sure if any platforms hit
this; it would cause an overflow if there are platforms with no
board_rev in the nvram that also don't have enough comments/junk to
otherwise make space for it.

I'll move it to another patch so it's more evident, and it should get a
Fixes: too.

--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub