projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d3bcfbe
)
[PATCH] sky2: pci post bug
author
shemminger@osdl.org
<shemminger@osdl.org>
Mon, 28 Aug 2006 17:00:52 +0000
(10:00 -0700)
committer
Jeff Garzik
<jeff@garzik.org>
Tue, 29 Aug 2006 21:18:30 +0000
(17:18 -0400)
Make sure that PCI write occurs before the delay.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/sky2.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/net/sky2.c
b/drivers/net/sky2.c
index c941195f0f4b6e7174dbf3607b65441ec4e75b63..869a45334ff8a2f5fafb0c5b09a3a88b213f2440 100644
(file)
--- a/
drivers/net/sky2.c
+++ b/
drivers/net/sky2.c
@@
-531,6
+531,7
@@
static void sky2_phy_power(struct sky2_hw *hw, unsigned port, int onoff)
reg1 |= phy_power[port];
sky2_pci_write32(hw, PCI_DEV_REG1, reg1);
+ sky2_pci_read32(hw, PCI_DEV_REG1);
udelay(100);
}
@@
-766,9
+767,10
@@
static inline struct sky2_tx_le *get_tx_le(struct sky2_port *sky2)
/* Update chip's next pointer */
static inline void sky2_put_idx(struct sky2_hw *hw, unsigned q, u16 idx)
{
+ q = Y2_QADDR(q, PREF_UNIT_PUT_IDX);
wmb();
- sky2_write16(hw,
Y2_QADDR(q, PREF_UNIT_PUT_IDX)
, idx);
-
mmiowb(
);
+ sky2_write16(hw,
q
, idx);
+
sky2_read16(hw, q
);
}