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>
This commit is contained in:
Alan Cox 2011-11-08 18:02:10 +00:00 коммит произвёл Linus Torvalds
Родитель 1ea6b8f489
Коммит a8d12007c7
1 изменённых файлов: 7 добавлений и 5 удалений

Просмотреть файл

@ -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
/*