diff --git a/src/include/sar.h b/src/include/sar.h index 9da4dd943c..527a51a89d 100644 --- a/src/include/sar.h +++ b/src/include/sar.h @@ -54,4 +54,6 @@ struct wifi_sar_limits { */ int get_wifi_sar_limits(struct wifi_sar_limits *sar_limits); +const char *get_wifi_sar_cbfs_filename(void); + #endif /* _SAR_H_ */ diff --git a/src/vendorcode/google/chromeos/sar.c b/src/vendorcode/google/chromeos/sar.c index 6799f12a24..417b9b6744 100644 --- a/src/vendorcode/google/chromeos/sar.c +++ b/src/vendorcode/google/chromeos/sar.c @@ -26,7 +26,10 @@ static int load_sar_file_from_cbfs(void *buf, size_t buffer_size) { - return cbfs_boot_load_file(WIFI_SAR_CBFS_FILENAME, buf, + const char *filename = get_wifi_sar_cbfs_filename(); + if (filename == NULL) + filename = WIFI_SAR_CBFS_FILENAME; + return cbfs_boot_load_file(filename, buf, buffer_size, CBFS_TYPE_RAW); } @@ -120,3 +123,9 @@ int get_wifi_sar_limits(struct wifi_sar_limits *sar_limits) memcpy(sar_limits, bin_buffer, bin_buff_adjusted_size); return 0; } + +__weak +const char *get_wifi_sar_cbfs_filename(void) +{ + return NULL; +}