summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Streetman <ddstreet@ieee.org>2015-05-12 01:53:36 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2015-05-13 05:31:59 +0300
commitca7fc7e962fa067ba31f76a6e5828537394f6481 (patch)
treee79e641598fdf90d30a76f9c761ab5041019f971
parent42e8b0d7fed0628e21ec93e8cd547aef616e68f7 (diff)
downloadlinux-ca7fc7e962fa067ba31f76a6e5828537394f6481.tar.xz
lib: correct 842 decompress for 32 bit
Avoid 64 bit mod operation, which won't work on 32 bit systems. Simple subtraction can be used instead in this case. Reported-By: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Dan Streetman <ddstreet@ieee.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--lib/842/842_decompress.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/842/842_decompress.c b/lib/842/842_decompress.c
index dbeb0581b879..5446ff0c9ba0 100644
--- a/lib/842/842_decompress.c
+++ b/lib/842/842_decompress.c
@@ -185,7 +185,7 @@ static int __do_index(struct sw842_param *p, u8 size, u8 bits, u64 fsize)
/* this is where the current fifo is */
u64 section = round_down(total, fsize);
/* the current pos in the fifo */
- u64 pos = total % fsize;
+ u64 pos = total - section;
/* if the offset is past/at the pos, we need to
* go back to the last fifo section