Messages in this thread Patch in this message | | | From | Greg Kroah-Hartman <> | Subject | [PATCH 19/19] n_gsm: Fix length handling | Date | Fri, 12 Nov 2010 13:41:06 -0800 |
| |
From: Ken Mills <ken.k.mills@intel.com>
If the mux is configured with a large mru/mtu the existing code gets the byte ordering wrong for the header.
Signed-off-by: Ken Mills <ken.k.mills@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- drivers/tty/n_gsm.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c index 7f79044..81b4658 100644 --- a/drivers/tty/n_gsm.c +++ b/drivers/tty/n_gsm.c @@ -716,8 +716,8 @@ static void __gsm_data_queue(struct gsm_dlci *dlci, struct gsm_msg *msg) if (msg->len < 128) *--dp = (msg->len << 1) | EA; else { - *--dp = (msg->len >> 6) | EA; - *--dp = (msg->len & 127) << 1; + *--dp = ((msg->len & 127) << 1) | EA; + *--dp = (msg->len >> 6) & 0xfe; } } -- 1.7.1
| |