|
@@ -2452,6 +2452,10 @@ static int ath10k_pci_wait_for_target_init(struct ath10k *ar)
|
|
|
if (val == 0xffffffff)
|
|
|
continue;
|
|
|
|
|
|
+ /* the device has crashed so don't bother trying anymore */
|
|
|
+ if (val & FW_IND_EVENT_PENDING)
|
|
|
+ break;
|
|
|
+
|
|
|
if (val & FW_IND_INITIALIZED)
|
|
|
break;
|
|
|
|
|
@@ -2470,6 +2474,12 @@ static int ath10k_pci_wait_for_target_init(struct ath10k *ar)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ if (val & FW_IND_EVENT_PENDING) {
|
|
|
+ ath10k_warn("device has crashed during init\n");
|
|
|
+ ret = -ECOMM;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
if (!(val & FW_IND_INITIALIZED)) {
|
|
|
ath10k_err("failed to receive initialized event from target: %08x\n",
|
|
|
val);
|