diff options
author | Karsten Keil <keil@b1-systems.de> | 2009-07-08 20:31:42 +0200 |
---|---|---|
committer | Karsten Keil <keil@b1-systems.de> | 2009-07-25 20:16:01 +0200 |
commit | c38fc3bc2ecddd4f5278131603e6964cbed071b2 (patch) | |
tree | 3821cf2fc6226375bbbf8c338316eef33f5b899d /drivers/isdn/hisax/st5481_usb.c | |
parent | 6bd4bcd3cd8affc09eaee7efbc037f65f4a71501 (diff) | |
download | op-kernel-dev-c38fc3bc2ecddd4f5278131603e6964cbed071b2.zip op-kernel-dev-c38fc3bc2ecddd4f5278131603e6964cbed071b2.tar.gz |
ISDN: Add support for none reverse bitstreams to isdnhdc
The original isdnhdlc code was developed for devices which had
reversed bitorder in the byte stream. Adding code to handle normal
bitstreams as well.
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Diffstat (limited to 'drivers/isdn/hisax/st5481_usb.c')
-rw-r--r-- | drivers/isdn/hisax/st5481_usb.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c index 2b3a055..10d41c5 100644 --- a/drivers/isdn/hisax/st5481_usb.c +++ b/drivers/isdn/hisax/st5481_usb.c @@ -637,10 +637,13 @@ void st5481_in_mode(struct st5481_in *in, int mode) usb_unlink_urb(in->urb[1]); if (in->mode != L1_MODE_NULL) { - if (in->mode != L1_MODE_TRANS) - isdnhdlc_rcv_init(&in->hdlc_state, - in->mode == L1_MODE_HDLC_56K); - + if (in->mode != L1_MODE_TRANS) { + u32 features = HDLC_BITREVERSE; + + if (in->mode == L1_MODE_HDLC_56K) + features |= HDLC_56KBIT; + isdnhdlc_rcv_init(&in->hdlc_state, features); + } st5481_usb_pipe_reset(in->adapter, in->ep, NULL, NULL); st5481_usb_device_ctrl_msg(in->adapter, in->counter, in->packet_size, |