@@ -473,6 +473,7 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
struct ieee80211_hw *dev;
unsigned long mem_addr, mem_len;
int err;
+ u8 latency;
err = pci_enable_device(pdev);
if (err) {
@@ -493,6 +494,12 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
goto err_disable_dev;
}
+ pci_read_config_byte(pdev, PCI_LATENCY_TIMER, &latency);
+ if (latency < 64) {
+ dev_info(&pdev->dev, "set latency timer\n");
+ pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 80);
+ }
+
if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) ||
pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) {
dev_err(&pdev->dev, "No suitable DMA available\n");