Merge "msm: smd_tty: Don't call del_timer() on uninitialized timers" into msm-3.4
diff --git a/arch/arm/mach-msm/smd_tty.c b/arch/arm/mach-msm/smd_tty.c
index 68e0f41..44ef822 100644
--- a/arch/arm/mach-msm/smd_tty.c
+++ b/arch/arm/mach-msm/smd_tty.c
@@ -144,14 +144,8 @@
avail = tty_prepare_flip_string(tty, &ptr, avail);
if (avail <= 0) {
- if (!timer_pending(&info->buf_req_timer)) {
- init_timer(&info->buf_req_timer);
- info->buf_req_timer.expires = jiffies +
- ((30 * HZ)/1000);
- info->buf_req_timer.function = buf_req_retry;
- info->buf_req_timer.data = param;
- add_timer(&info->buf_req_timer);
- }
+ mod_timer(&info->buf_req_timer,
+ jiffies + msecs_to_jiffies(30));
return;
}
@@ -572,6 +566,8 @@
smd_tty[idx].driver.driver.owner = THIS_MODULE;
spin_lock_init(&smd_tty[idx].reset_lock);
smd_tty[idx].is_open = 0;
+ setup_timer(&smd_tty[idx].buf_req_timer, buf_req_retry,
+ (unsigned long)&smd_tty[idx]);
init_waitqueue_head(&smd_tty[idx].ch_opened_wait_queue);
ret = platform_driver_register(&smd_tty[idx].driver);