rslib: Fix decoding of shortened codes
[linux-2.6-block.git] / lib / reed_solomon / decode_rs.c
index 1db74eb098d0eb6e8123d07ed4be795a09bf82ce..3313bf944ff142ecf7fd24a274ed52dd98ca4d81 100644 (file)
@@ -99,9 +99,9 @@
        if (no_eras > 0) {
                /* Init lambda to be the erasure locator polynomial */
                lambda[1] = alpha_to[rs_modnn(rs,
-                                             prim * (nn - 1 - eras_pos[0]))];
+                                       prim * (nn - 1 - (eras_pos[0] + pad)))];
                for (i = 1; i < no_eras; i++) {
-                       u = rs_modnn(rs, prim * (nn - 1 - eras_pos[i]));
+                       u = rs_modnn(rs, prim * (nn - 1 - (eras_pos[i] + pad)));
                        for (j = i + 1; j > 0; j--) {
                                tmp = index_of[lambda[j - 1]];
                                if (tmp != nn) {