ath10k: print crc32 checksums for firmware and board files
[cascardo/linux.git] / drivers / net / wireless / ath / ath10k / debug.c
index ea8b562..4fc3d4f 100644 (file)
@@ -19,6 +19,8 @@
 #include <linux/debugfs.h>
 #include <linux/vmalloc.h>
 #include <linux/utsname.h>
+#include <linux/crc32.h>
+#include <linux/firmware.h>
 
 #include "core.h"
 #include "debug.h"
@@ -141,10 +143,11 @@ void ath10k_debug_print_hwfw_info(struct ath10k *ar)
                    config_enabled(CONFIG_ATH10K_DFS_CERTIFIED),
                    config_enabled(CONFIG_NL80211_TESTMODE));
 
-       ath10k_info(ar, "firmware ver %s api %d features %s\n",
+       ath10k_info(ar, "firmware ver %s api %d features %s crc32 %08x\n",
                    ar->hw->wiphy->fw_version,
                    ar->fw_api,
-                   fw_features);
+                   fw_features,
+                   crc32_le(0, ar->firmware->data, ar->firmware->size));
 }
 
 void ath10k_debug_print_board_info(struct ath10k *ar)
@@ -157,9 +160,10 @@ void ath10k_debug_print_board_info(struct ath10k *ar)
        else
                scnprintf(boardinfo, sizeof(boardinfo), "N/A");
 
-       ath10k_info(ar, "board_file api %d bmi_id %s",
+       ath10k_info(ar, "board_file api %d bmi_id %s crc32 %08x",
                    ar->bd_api,
-                   boardinfo);
+                   boardinfo,
+                   crc32_le(0, ar->board->data, ar->board->size));
 }
 
 void ath10k_debug_print_boot_info(struct ath10k *ar)