| .. | .. |
|---|
| 1963 | 1963 | ath10k_pci_irq_enable(ar); |
|---|
| 1964 | 1964 | ath10k_pci_rx_post(ar); |
|---|
| 1965 | 1965 | |
|---|
| 1966 | | - pcie_capability_write_word(ar_pci->pdev, PCI_EXP_LNKCTL, |
|---|
| 1967 | | - ar_pci->link_ctl); |
|---|
| 1966 | + pcie_capability_clear_and_set_word(ar_pci->pdev, PCI_EXP_LNKCTL, |
|---|
| 1967 | + PCI_EXP_LNKCTL_ASPMC, |
|---|
| 1968 | + ar_pci->link_ctl & PCI_EXP_LNKCTL_ASPMC); |
|---|
| 1968 | 1969 | |
|---|
| 1969 | 1970 | return 0; |
|---|
| 1970 | 1971 | } |
|---|
| .. | .. |
|---|
| 2820 | 2821 | |
|---|
| 2821 | 2822 | pcie_capability_read_word(ar_pci->pdev, PCI_EXP_LNKCTL, |
|---|
| 2822 | 2823 | &ar_pci->link_ctl); |
|---|
| 2823 | | - pcie_capability_write_word(ar_pci->pdev, PCI_EXP_LNKCTL, |
|---|
| 2824 | | - ar_pci->link_ctl & ~PCI_EXP_LNKCTL_ASPMC); |
|---|
| 2824 | + pcie_capability_clear_word(ar_pci->pdev, PCI_EXP_LNKCTL, |
|---|
| 2825 | + PCI_EXP_LNKCTL_ASPMC); |
|---|
| 2825 | 2826 | |
|---|
| 2826 | 2827 | /* |
|---|
| 2827 | 2828 | * Bring the target up cleanly. |
|---|
| .. | .. |
|---|
| 3799 | 3800 | |
|---|
| 3800 | 3801 | static int __init ath10k_pci_init(void) |
|---|
| 3801 | 3802 | { |
|---|
| 3802 | | - int ret; |
|---|
| 3803 | + int ret1, ret2; |
|---|
| 3803 | 3804 | |
|---|
| 3804 | | - ret = pci_register_driver(&ath10k_pci_driver); |
|---|
| 3805 | | - if (ret) |
|---|
| 3805 | + ret1 = pci_register_driver(&ath10k_pci_driver); |
|---|
| 3806 | + if (ret1) |
|---|
| 3806 | 3807 | printk(KERN_ERR "failed to register ath10k pci driver: %d\n", |
|---|
| 3807 | | - ret); |
|---|
| 3808 | + ret1); |
|---|
| 3808 | 3809 | |
|---|
| 3809 | | - ret = ath10k_ahb_init(); |
|---|
| 3810 | | - if (ret) |
|---|
| 3811 | | - printk(KERN_ERR "ahb init failed: %d\n", ret); |
|---|
| 3810 | + ret2 = ath10k_ahb_init(); |
|---|
| 3811 | + if (ret2) |
|---|
| 3812 | + printk(KERN_ERR "ahb init failed: %d\n", ret2); |
|---|
| 3812 | 3813 | |
|---|
| 3813 | | - return ret; |
|---|
| 3814 | + if (ret1 && ret2) |
|---|
| 3815 | + return ret1; |
|---|
| 3816 | + |
|---|
| 3817 | + /* registered to at least one bus */ |
|---|
| 3818 | + return 0; |
|---|
| 3814 | 3819 | } |
|---|
| 3815 | 3820 | module_init(ath10k_pci_init); |
|---|
| 3816 | 3821 | |
|---|