bes2600: drop BES2600_WRITE_DPD_TO_FILE kernel_*() file paths
bes_chardev.c carried three functions gated behind the
BES2600_WRITE_DPD_TO_FILE Kconfig/make-flag (default off):
- bes2600_chrdev_write_dpd_data_to_file()
filp_open(O_CREAT | O_TRUNC | O_RDWR) + kernel_write()
writing a raw DPD calibration blob back to
BES2600_DPD_PATH (default /data/cfg/bes2600_dpd.bin, an
Android-AOSP path).
- bes2600_chrdev_read_and_check_dpd_data()
filp_open(O_RDONLY) + kernel_read() reading the DPD blob
from either BES2600_DPD_GOLDEN_PATH (/data/cfg/…) or
BES2600_DEFAULT_DPD_PATH (/lib/firmware/bes2600_dpd.bin),
followed by a CRC/version sanity check.
- bes2600_chrdev_dpd_is_vaild() (sic), the CRC/version helper
used only by the read path.
Plus the bes_cdev.no_dpd field, its module_param, and two
intrusion sites in bes2600_chrdev_get_dpd_data() and
bes2600_chrdev_update_dpd_data() that invoke the above.
The Makefile defaults BES2600_WRITE_DPD_TO_FILE=n, so in a stock
build all of this is dead code. It is still a standing upstream
blocker for exactly the same reasons as the factory-txt write
path removed in the preceding patch:
- filp_open() + kernel_read()/kernel_write() bypass the
firmware-class abstraction and LSM-governed access control
that apply to /lib/firmware/.
- The write target /data/cfg/ is an Android AOSP convention
that does not exist on a Linux distribution and cannot be
created by the kernel anyway.
- A runtime DPD re-calibration is intended to reduce TX EVM
after temperature or aging drift; persisting the result via
kernel_write() is fundamentally a userspace concern (debugfs
dump + userspace tool is the expected route).
Remove the entire #ifdef BES2600_WRITE_DPD_TO_FILE block from
bes_chardev.c (including the inner #ifdef inside
bes2600_chrdev_read_and_check_dpd_data() guarding a
DPD_BIN_FILE_SIZE size check that only applied to the read-back-
its-own-write case), the no_dpd field and module_param, and the
two invocation sites. Drop the Kconfig/make-flag and the three
associated PATH macros from the Makefile. Net: -155 lines, no
remaining filp_open/kernel_read/kernel_write anywhere in
bes_chardev.c.
The in-memory DPD state path is unchanged: bes2600_chrdev_get_dpd_
buffer() still allocates a kmalloc'd buffer used by the firmware-
download path, bes2600_chrdev_update_dpd_data() still validates
the buffer's CRC and transitions bes2600_cdev.wait_state on
success, and bes2600_chrdev_free_dpd_data() still releases the
buffer on unload. Only the file-I/O side-channel is removed.
Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
This commit is contained in:
@@ -28,7 +28,6 @@ CONFIG_BES2600_WIFI_BOOT_ON ?= y
|
||||
CONFIG_BES2600_BT_BOOT_ON ?= n
|
||||
|
||||
BES2600_GPIO_WAKEUP_AP ?= n
|
||||
BES2600_WRITE_DPD_TO_FILE ?= n
|
||||
BES2600_TX_MORE_RETRY ?= n
|
||||
|
||||
# bes evb
|
||||
@@ -93,12 +92,6 @@ ccflags-y += -DBES_UNIFIED_PM
|
||||
ccflags-y += -DBES_SDIO_OPTIMIZED_LEN
|
||||
ccflags-y += -DBES2600_HOST_TIMESTAMP_DEBUG
|
||||
|
||||
ifeq ($(BES2600_WRITE_DPD_TO_FILE),y)
|
||||
BES2600_DPD_PATH ?= /data/cfg/bes2600_dpd.bin
|
||||
BES2600_DEFAULT_DPD_PATH ?= /lib/firmware/bes2600_dpd.bin
|
||||
BES2600_DPD_GOLDEN_PATH ?= /data/cfg/bes2600_dpd_golden.bin
|
||||
endif
|
||||
|
||||
ifeq ($(BES2600_DUMP_FW_DPD_LOG),y)
|
||||
BES2600_DPD_LOG_PATH ?= /data/applog/bes2600_dpd_log.log
|
||||
endif
|
||||
@@ -135,9 +128,6 @@ ccflags-y += $(call boolen_flag,BSS_LOSS_CHECK,y)
|
||||
ccflags-y += $(call string_flag,BES2600_LOAD_FW_TOOL_PATH)
|
||||
ccflags-y += $(call string_flag,BES2600_LOAD_FW_TOOL_DEVICE)
|
||||
ccflags-y += $(call string_flag,BES2600_DRV_VERSION)
|
||||
ccflags-y += $(call string_flag,BES2600_DPD_PATH)
|
||||
ccflags-y += $(call string_flag,BES2600_DEFAULT_DPD_PATH)
|
||||
ccflags-y += $(call string_flag,BES2600_DPD_GOLDEN_PATH)
|
||||
|
||||
ccflags-y += $(call boolen_flag,BES2600_INDEPENDENT_EVB,y)
|
||||
ccflags-y += $(call boolen_flag,BES2600_INTEGRATED_MODULE_V1,y)
|
||||
@@ -159,8 +149,6 @@ ccflags-y += $(call boolen_flag,FACTORY_SAVE_MULTI_PATH,y)
|
||||
ccflags-y += $(call boolen_flag,FACTORY_CRC_CHECK,y)
|
||||
|
||||
ccflags-y += $(call boolen_flag,BES2600_GPIO_WAKEUP_AP,y)
|
||||
ccflags-y += $(call boolen_flag,BES2600_WRITE_DPD_TO_FILE,y)
|
||||
|
||||
ccflags-y += $(call boolen_flag,BES2600_DUMP_FW_DPD_LOG,y)
|
||||
ccflags-y += $(call string_flag,BES2600_DPD_LOG_PATH)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user