diff options
Diffstat (limited to 'drivers/net/cxgb4/cxgb4_main.c')
-rw-r--r-- | drivers/net/cxgb4/cxgb4_main.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c index 848f89d19fb7..953d62a3403c 100644 --- a/drivers/net/cxgb4/cxgb4_main.c +++ b/drivers/net/cxgb4/cxgb4_main.c | |||
@@ -3535,6 +3535,19 @@ static void __devinit print_port_info(struct adapter *adap) | |||
3535 | } | 3535 | } |
3536 | } | 3536 | } |
3537 | 3537 | ||
3538 | static void __devinit enable_pcie_relaxed_ordering(struct pci_dev *dev) | ||
3539 | { | ||
3540 | u16 v; | ||
3541 | int pos; | ||
3542 | |||
3543 | pos = pci_pcie_cap(dev); | ||
3544 | if (pos > 0) { | ||
3545 | pci_read_config_word(dev, pos + PCI_EXP_DEVCTL, &v); | ||
3546 | v |= PCI_EXP_DEVCTL_RELAX_EN; | ||
3547 | pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, v); | ||
3548 | } | ||
3549 | } | ||
3550 | |||
3538 | /* | 3551 | /* |
3539 | * Free the following resources: | 3552 | * Free the following resources: |
3540 | * - memory used for tables | 3553 | * - memory used for tables |
@@ -3609,6 +3622,7 @@ static int __devinit init_one(struct pci_dev *pdev, | |||
3609 | } | 3622 | } |
3610 | 3623 | ||
3611 | pci_enable_pcie_error_reporting(pdev); | 3624 | pci_enable_pcie_error_reporting(pdev); |
3625 | enable_pcie_relaxed_ordering(pdev); | ||
3612 | pci_set_master(pdev); | 3626 | pci_set_master(pdev); |
3613 | pci_save_state(pdev); | 3627 | pci_save_state(pdev); |
3614 | 3628 | ||