OSDN Git Service

cnss2: Add a debug option to skip any kind of recovery
authorYue Ma <yuem@codeaurora.org>
Wed, 22 Nov 2017 22:12:52 +0000 (14:12 -0800)
committerYue Ma <yuem@codeaurora.org>
Fri, 1 Dec 2017 00:34:22 +0000 (16:34 -0800)
After firmware crashes, driver will try to recover the device by
resetting hardware and reloading firmware. Add a debug quirk option
to skip the recovery so that WLAN device can still remain the status
after crash for live debugging.

Change-Id: Ifff26df9ae5ab4c25573ca84e29eed73a79c6525
Signed-off-by: Yue Ma <yuem@codeaurora.org>
drivers/net/wireless/cnss2/main.c

index fc90e30..4d8ad7c 100644 (file)
@@ -59,6 +59,7 @@ enum cnss_debug_quirks {
        LINK_DOWN_SELF_RECOVERY,
        SKIP_DEVICE_BOOT,
        USE_CORE_ONLY_FW,
+       SKIP_RECOVERY,
 };
 
 unsigned long quirks;
@@ -1454,6 +1455,11 @@ static int cnss_do_recovery(struct cnss_plat_data *plat_priv,
                plat_priv->driver_ops->update_status(pci_priv->pci_dev,
                                                     CNSS_RECOVERY);
 
+       if (test_bit(SKIP_RECOVERY, &quirks)) {
+               cnss_pr_dbg("Skip device recovery\n");
+               return 0;
+       }
+
        switch (reason) {
        case CNSS_REASON_LINK_DOWN:
                if (test_bit(LINK_DOWN_SELF_RECOVERY, &quirks))