aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Oreman <oremanj@rwcr.net>2009-10-16 19:27:43 -0400
committerMarty Connor <mdc@etherboot.org>2009-10-16 20:25:17 -0400
commit7296f1f21c442e0781e7c3efe1f1a1005cf3e385 (patch)
treed10b9854d8a7a41c6f23ddb965284d2e78ab64a9
parent489bd2f396e62e2ec1139da93e242017a7f6e9f5 (diff)
downloadipxe-7296f1f21c442e0781e7c3efe1f1a1005cf3e385.tar.gz
[ath5k] Save proper cacheline size when fixing PCI configuration
Some BIOSes set the PCI cacheline size to zero for the card; the ath5k driver fixes it to a reasonable in PCI config space, but failed to correct the internal value it had already read. This resulted in divide-by-zero errors when cacheline-aligning various data structures. Fix by setting the internal cachelsz to a sane value at the same time as we write that value to PCI config space. Signed-off-by: Marty Connor <mdc@etherboot.org>
-rw-r--r--src/drivers/net/ath5k/ath5k.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/net/ath5k/ath5k.c b/src/drivers/net/ath5k/ath5k.c
index 86ec73548..37defce29 100644
--- a/src/drivers/net/ath5k/ath5k.c
+++ b/src/drivers/net/ath5k/ath5k.c
@@ -306,7 +306,8 @@ static int ath5k_probe(struct pci_device *pdev,
* DMA to work so force a reasonable value here if it
* comes up zero.
*/
- pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, 16);
+ csz = 16;
+ pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, csz);
}
/*
* The default setting of latency timer yields poor results,