Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3991428d9efc7185312196f82cc36e9df4a2ddb0
Commit:     3991428d9efc7185312196f82cc36e9df4a2ddb0
Parent:     ce71b0ffd01b0917a74c03562aaa110a71a0ee29
Author:     Jiri Slaby <[EMAIL PROTECTED]>
AuthorDate: Tue May 8 00:36:54 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue May 8 11:15:25 2007 -0700

    Char: cyclades, timers cleanup
    
    Signed-off-by: Jiri Slaby <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/char/cyclades.c |   17 +++++------------
 1 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index 9160953..14652c1 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -932,15 +932,9 @@ do_softint(struct work_struct *work)
        if (test_and_clear_bit(Cy_EVENT_OPEN_WAKEUP, &info->event))
                wake_up_interruptible(&info->open_wait);
 #ifdef CONFIG_CYZ_INTR
-       if (test_and_clear_bit(Cy_EVENT_Z_RX_FULL, &info->event)) {
-               if (cyz_rx_full_timer[info->line].function == NULL) {
-                       cyz_rx_full_timer[info->line].expires = jiffies + 1;
-                       cyz_rx_full_timer[info->line].function = cyz_rx_restart;
-                       cyz_rx_full_timer[info->line].data =
-                                               (unsigned long)info;
-                       add_timer(&cyz_rx_full_timer[info->line]);
-               }
-       }
+       if (test_and_clear_bit(Cy_EVENT_Z_RX_FULL, &info->event) &&
+                       !timer_pending(&cyz_rx_full_timer[info->line]))
+               mod_timer(&cyz_rx_full_timer[info->line], jiffies + 1);
 #endif
        if (test_and_clear_bit(Cy_EVENT_DELTA_WAKEUP, &info->event))
                wake_up_interruptible(&info->delta_msr_wait);
@@ -1887,7 +1881,6 @@ static void cyz_rx_restart(unsigned long arg)
                printk(KERN_ERR "cyc:cyz_rx_restart retval on ttyC%d was %x\n",
                        info->line, retval);
        }
-       cyz_rx_full_timer[info->line].function = NULL;
        CY_UNLOCK(info, flags);
 }
 
@@ -4529,8 +4522,8 @@ static void __devinit cy_init_card(struct cyclades_card 
*cinfo)
                        else
                                info->xmit_fifo_size = 4 * CYZ_FIFO_SIZE;
 #ifdef CONFIG_CYZ_INTR
-                       init_timer(&cyz_rx_full_timer[port]);
-                       cyz_rx_full_timer[port].function = NULL;
+                       setup_timer(&cyz_rx_full_timer[port],
+                               cyz_rx_restart, (unsigned long)info);
 #endif
                } else {
                        info->type = PORT_CIRRUS;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to