[PATCH] ath11k: Support loading ELF board files.
Kalle Valo
kvalo at codeaurora.org
Wed Sep 16 10:21:57 EDT 2020
greearb at candelatech.com writes:
> From: Ben Greear <greearb at candelatech.com>
>
> The QCA6390 board I have, model 8291M-PR comes with an ELF board
> file. To get this to at least somewhat work, I renamed bdwlan.e04
> to 'board.bin' and then added this patch to check for .ELF as
> starting bytes of the board file. If that is found, use type
> ELF. After this the driver loads.
>
> Signed-off-by: Ben Greear <greearb at candelatech.com>
> ---
>
> This is on top of recent kvallo ath tree.
>
> drivers/net/wireless/ath/ath11k/qmi.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
> index 91134510364c..f87f1d1564f4 100644
> --- a/drivers/net/wireless/ath/ath11k/qmi.c
> +++ b/drivers/net/wireless/ath/ath11k/qmi.c
> @@ -1992,6 +1992,7 @@ static int ath11k_qmi_load_bdf_qmi(struct ath11k_base *ab)
> struct qmi_txn txn = {};
> int ret;
> const u8 *temp;
> + int bdf_type = ATH11K_QMI_BDF_TYPE_BIN;
>
> req = kzalloc(sizeof(*req), GFP_KERNEL);
> if (!req)
> @@ -2008,6 +2009,15 @@ static int ath11k_qmi_load_bdf_qmi(struct ath11k_base *ab)
> temp = bd.data;
> remaining = bd.len;
>
> + if (bd.len >= 4) {
> + char* edata = (char*)(temp);
> + if (edata[1] == 'E' &&
> + edata[2] == 'L' &&
> + edata[3] == 'F') {
> + bdf_type = ATH11K_QMI_BDF_TYPE_ELF;
> + }
> + }
Thanks, looks good. Expect that the ELF magic check can be simplified to:
strncmp(edata, ELFMAG, SELFMAG)
But I can send v2, I'll soon send some more QCA6390 patches and I'll
include this to the set.
--
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list