|
@@ -44,6 +44,7 @@
|
|
|
#define WL1271_BOOT_RETRIES 3
|
|
|
|
|
|
static char *fwlog_param;
|
|
|
+static int fwlog_mem_blocks = -1;
|
|
|
static int bug_on_recovery = -1;
|
|
|
static int no_recovery = -1;
|
|
|
|
|
@@ -291,6 +292,18 @@ static void wlcore_adjust_conf(struct wl1271 *wl)
|
|
|
{
|
|
|
/* Adjust settings according to optional module parameters */
|
|
|
|
|
|
+ /* Firmware Logger params */
|
|
|
+ if (fwlog_mem_blocks != -1) {
|
|
|
+ if (fwlog_mem_blocks >= CONF_FWLOG_MIN_MEM_BLOCKS &&
|
|
|
+ fwlog_mem_blocks <= CONF_FWLOG_MAX_MEM_BLOCKS) {
|
|
|
+ wl->conf.fwlog.mem_blocks = fwlog_mem_blocks;
|
|
|
+ } else {
|
|
|
+ wl1271_error(
|
|
|
+ "Illegal fwlog_mem_blocks=%d using default %d",
|
|
|
+ fwlog_mem_blocks, wl->conf.fwlog.mem_blocks);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (fwlog_param) {
|
|
|
if (!strcmp(fwlog_param, "continuous")) {
|
|
|
wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS;
|
|
@@ -6158,6 +6171,9 @@ module_param_named(fwlog, fwlog_param, charp, 0);
|
|
|
MODULE_PARM_DESC(fwlog,
|
|
|
"FW logger options: continuous, ondemand, dbgpins or disable");
|
|
|
|
|
|
+module_param(fwlog_mem_blocks, int, S_IRUSR | S_IWUSR);
|
|
|
+MODULE_PARM_DESC(fwlog_mem_blocks, "fwlog mem_blocks");
|
|
|
+
|
|
|
module_param(bug_on_recovery, int, S_IRUSR | S_IWUSR);
|
|
|
MODULE_PARM_DESC(bug_on_recovery, "BUG() on fw recovery");
|
|
|
|