Skip to content

Commit

Permalink
n_gsm: Fix timings
Browse files Browse the repository at this point in the history
Alek Du reported that the code erroneously applies time to jiffies
conversions twice to the t1 and t2 values. In normal use on a modem link
this cases no visible problem but on a slower link it will break as with
HZ=1000 as is typical we are running t1/t2 ten times too fast.

Alek's original patch removed the conversion from the timer setting but we
in fact have to be more careful as the contents of t1/t2 are visible via
the device API and we thus need to correct the constants.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Alan Cox authored and Linus Torvalds committed Nov 8, 2011
1 parent 1ea6b8f commit a8d1200
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions drivers/tty/n_gsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,16 @@
static int debug;
module_param(debug, int, 0600);

#define T1 (HZ/10)
#define T2 (HZ/3)
#define N2 3
/* Defaults: these are from the specification */

#define T1 10 /* 100mS */
#define T2 34 /* 333mS */
#define N2 3 /* Retry 3 times */

/* Use long timers for testing at low speed with debug on */
#ifdef DEBUG_TIMING
#define T1 HZ
#define T2 (2 * HZ)
#define T1 100
#define T2 200
#endif

/*
Expand Down

0 comments on commit a8d1200

Please sign in to comment.