|
@@ -487,6 +487,9 @@ static int ath10k_pci_force_wake(struct ath10k *ar)
|
|
|
unsigned long flags;
|
|
|
int ret = 0;
|
|
|
|
|
|
+ if (ar_pci->pci_ps)
|
|
|
+ return ret;
|
|
|
+
|
|
|
spin_lock_irqsave(&ar_pci->ps_lock, flags);
|
|
|
|
|
|
if (!ar_pci->ps_awake) {
|
|
@@ -2480,12 +2483,10 @@ static int ath10k_pci_hif_resume(struct ath10k *ar)
|
|
|
u32 val;
|
|
|
int ret = 0;
|
|
|
|
|
|
- if (ar_pci->pci_ps == 0) {
|
|
|
- ret = ath10k_pci_force_wake(ar);
|
|
|
- if (ret) {
|
|
|
- ath10k_err(ar, "failed to wake up target: %d\n", ret);
|
|
|
- return ret;
|
|
|
- }
|
|
|
+ ret = ath10k_pci_force_wake(ar);
|
|
|
+ if (ret) {
|
|
|
+ ath10k_err(ar, "failed to wake up target: %d\n", ret);
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
/* Suspend/Resume resets the PCI configuration space, so we have to
|
|
@@ -2592,13 +2593,10 @@ static irqreturn_t ath10k_pci_interrupt_handler(int irq, void *arg)
|
|
|
struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
|
|
|
int ret;
|
|
|
|
|
|
- if (ar_pci->pci_ps == 0) {
|
|
|
- ret = ath10k_pci_force_wake(ar);
|
|
|
- if (ret) {
|
|
|
- ath10k_warn(ar, "failed to wake device up on irq: %d\n",
|
|
|
- ret);
|
|
|
- return IRQ_NONE;
|
|
|
- }
|
|
|
+ ret = ath10k_pci_force_wake(ar);
|
|
|
+ if (ret) {
|
|
|
+ ath10k_warn(ar, "failed to wake device up on irq: %d\n", ret);
|
|
|
+ return IRQ_NONE;
|
|
|
}
|
|
|
|
|
|
if (ar_pci->num_msi_intrs == 0) {
|
|
@@ -3071,12 +3069,10 @@ static int ath10k_pci_probe(struct pci_dev *pdev,
|
|
|
goto err_sleep;
|
|
|
}
|
|
|
|
|
|
- if (ar_pci->pci_ps == 0) {
|
|
|
- ret = ath10k_pci_force_wake(ar);
|
|
|
- if (ret) {
|
|
|
- ath10k_warn(ar, "failed to wake up device : %d\n", ret);
|
|
|
- goto err_free_pipes;
|
|
|
- }
|
|
|
+ ret = ath10k_pci_force_wake(ar);
|
|
|
+ if (ret) {
|
|
|
+ ath10k_warn(ar, "failed to wake up device : %d\n", ret);
|
|
|
+ goto err_free_pipes;
|
|
|
}
|
|
|
|
|
|
ath10k_pci_ce_deinit(ar);
|