diff options
Diffstat (limited to 'drivers/isdn/gigaset/isocdata.c')
-rw-r--r-- | drivers/isdn/gigaset/isocdata.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/isdn/gigaset/isocdata.c b/drivers/isdn/gigaset/isocdata.c index 8667daaa1a82..df988eb0e36f 100644 --- a/drivers/isdn/gigaset/isocdata.c +++ b/drivers/isdn/gigaset/isocdata.c | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | #include "gigaset.h" | 15 | #include "gigaset.h" |
16 | #include <linux/crc-ccitt.h> | 16 | #include <linux/crc-ccitt.h> |
17 | #include <linux/bitrev.h> | ||
17 | 18 | ||
18 | /* access methods for isowbuf_t */ | 19 | /* access methods for isowbuf_t */ |
19 | /* ============================ */ | 20 | /* ============================ */ |
@@ -487,7 +488,7 @@ static inline int trans_buildframe(struct isowbuf_t *iwb, | |||
487 | gig_dbg(DEBUG_STREAM, "put %d bytes", count); | 488 | gig_dbg(DEBUG_STREAM, "put %d bytes", count); |
488 | write = atomic_read(&iwb->write); | 489 | write = atomic_read(&iwb->write); |
489 | do { | 490 | do { |
490 | c = gigaset_invtab[*in++]; | 491 | c = bitrev8(*in++); |
491 | iwb->data[write++] = c; | 492 | iwb->data[write++] = c; |
492 | write %= BAS_OUTBUFSIZE; | 493 | write %= BAS_OUTBUFSIZE; |
493 | } while (--count > 0); | 494 | } while (--count > 0); |
@@ -876,7 +877,7 @@ static inline void trans_receive(unsigned char *src, unsigned count, | |||
876 | while (count > 0) { | 877 | while (count > 0) { |
877 | dst = skb_put(skb, count < dobytes ? count : dobytes); | 878 | dst = skb_put(skb, count < dobytes ? count : dobytes); |
878 | while (count > 0 && dobytes > 0) { | 879 | while (count > 0 && dobytes > 0) { |
879 | *dst++ = gigaset_invtab[*src++]; | 880 | *dst++ = bitrev8(*src++); |
880 | count--; | 881 | count--; |
881 | dobytes--; | 882 | dobytes--; |
882 | } | 883 | } |