aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-02-26 01:52:23 +0100
committerAdrian Bunk <bunk@stusta.de>2007-02-26 01:52:23 +0100
commit0be4646b62d17f477a657dc7bac83f1f9a56323b (patch)
tree258260627470ab4c08acc9186e86b255cbfb6368
parentc3208ec9d5dd6d925693ab8cf99bfdaf80d1b0c0 (diff)
sky2: fix for use on big endian
Ben added this for 2.6.18, it allows sky2 to run on big endian. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
-rw-r--r--drivers/net/sky2.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index a173e377580..dd3f4830097 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -3254,12 +3254,13 @@ static int __devinit sky2_probe(struct pci_dev *pdev,
spin_lock_init(&hw->hw_lock);
#ifdef __BIG_ENDIAN
- /* byte swap descriptors in hardware */
+ /* The sk98lin vendor driver uses hardware byte swapping but
+ * this driver uses software swapping.
+ */
{
u32 reg;
-
reg = sky2_pci_read32(hw, PCI_DEV_REG2);
- reg |= PCI_REV_DESC;
+ reg &= ~PCI_REV_DESC;
sky2_pci_write32(hw, PCI_DEV_REG2, reg);
}
#endif