Hi Roger, On 5/21/22 05:47, Roger Knecht wrote: > The code comment says that the polynom is x^16 + x^12 + x^15 + 1, but the > correct polynom is x^16 + x^12 + x^5 + 1. > > Quote from page 2 in the ITU-T V.41 specification: > "2 Encoding and checking process > > The service bits and information bits, taken in conjunction, correspond > to the coefficients of a message polynomial having terms from x^(n-1) > (n = total number of bits in a block or sequence) down to x^16. This > polynomial is divided, modulo 2, by the generating polynomial > x^16 + x^12 + x^5 + 1. [...]" > > Source: https://www.itu.int/rec/T-REC-V.41-198811-I/en) > The hex polynom 0x1021 and CRC code implementation are correct. > > Signed-off-by: Roger Knecht <roger@xxxxxxxxxxxxxxxxx> > Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> I don't know which maintainer will merge this since no one is Cc:ed on it. You will probably need to choose some maintainer to send the patch to. But let's add the people who merged the header file in the first place for their comments/review. (done) > --- > Changes: > v5: Clean up patch description and added acked-by > v4: Changed comment from /** to /* (the comment is not a kernel doc comment) > v3: Moved "changes and thanks" out of the commit message. > v2: Extended patch description > > include/linux/crc-itu-t.h | 2 +- > lib/crc-itu-t.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/crc-itu-t.h b/include/linux/crc-itu-t.h > index a4367051e192..2f991a427ade 100644 > --- a/include/linux/crc-itu-t.h > +++ b/include/linux/crc-itu-t.h > @@ -4,7 +4,7 @@ > * > * Implements the standard CRC ITU-T V.41: > * Width 16 > - * Poly 0x1021 (x^16 + x^12 + x^15 + 1) > + * Poly 0x1021 (x^16 + x^12 + x^5 + 1) > * Init 0 > */ > > diff --git a/lib/crc-itu-t.c b/lib/crc-itu-t.c > index 1974b355c148..1d26a1647da5 100644 > --- a/lib/crc-itu-t.c > +++ b/lib/crc-itu-t.c > @@ -7,7 +7,7 @@ > #include <linux/module.h> > #include <linux/crc-itu-t.h> > > -/** CRC table for the CRC ITU-T V.41 0x1021 (x^16 + x^12 + x^15 + 1) */ > +/* CRC table for the CRC ITU-T V.41 0x1021 (x^16 + x^12 + x^5 + 1) */ > const u16 crc_itu_t_table[256] = { > 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, > 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, -- ~Randy