aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/gigaset/isocdata.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/gigaset/isocdata.c')
-rw-r--r--drivers/isdn/gigaset/isocdata.c5
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 }