Commit 590ed6b2 authored by Alexander Viro's avatar Alexander Viro Committed by Linus Torvalds

[PATCH] ohci bugfix for big-endian 64bit boxen

->dma can be a 64bit variable on 64bit boxen; its value will fit into 32 bits
just fine (due to dma mask).  However, cpu_to_le32p(&...) will break if we
are on a 64bit big-endian; we'll end up up passing it the address of upper
32 bits and get 0 instead of correct value.  Fix is trivial...
Signed-off-by: default avatarAl Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a6c4a0c6
...@@ -156,7 +156,7 @@ static void periodic_link (struct ohci_hcd *ohci, struct ed *ed) ...@@ -156,7 +156,7 @@ static void periodic_link (struct ohci_hcd *ohci, struct ed *ed)
ed->hwNextED = *prev_p; ed->hwNextED = *prev_p;
wmb (); wmb ();
*prev = ed; *prev = ed;
*prev_p = cpu_to_le32p (&ed->dma); *prev_p = cpu_to_le32(ed->dma);
wmb(); wmb();
} }
ohci->load [i] += ed->load; ohci->load [i] += ed->load;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment