diff options
Diffstat (limited to 'drivers/dahdi/dahdi-base.c')
-rw-r--r-- | drivers/dahdi/dahdi-base.c | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/drivers/dahdi/dahdi-base.c b/drivers/dahdi/dahdi-base.c index bded1c0..b72576d 100644 --- a/drivers/dahdi/dahdi-base.c +++ b/drivers/dahdi/dahdi-base.c @@ -8751,40 +8751,14 @@ static void process_timers(void) spin_unlock(&dahdi_timer_lock); } -/** - * dahdi_timer_poll - Poll function for a dahdi_timer. - * @file: Open timer handle. - * @wait_table: Just passing through... - * - * Returns 0 if there isn't anything to wake us up, otherwise POLLPRI if there - * is an event waiting on the timer. - * - * Older versions of Asterisk depend on the behavior that this poll will block - * indefintely if the timer has not been configured, so if there is no rate - * attached to the timer, this function must return 0. - * - */ -static unsigned int -dahdi_timer_poll(struct file *file, struct poll_table_struct *wait_table) +static unsigned int dahdi_timer_poll(struct file *file, struct poll_table_struct *wait_table) { struct dahdi_timer *timer = file->private_data; - struct dahdi_timer_rate *rate; + struct dahdi_timer_rate *rate = timer->rate; - if (!timer) + if (!rate || !timer) return -EINVAL; - rate = timer->rate; - - if (!rate) { - static bool __once; - if (!__once) { - __once = true; - module_printk(KERN_NOTICE, - "Calling poll on unconfigured timer.\n"); - } - return 0; - } - poll_wait(file, &rate->sel, wait_table); if (atomic_read(&timer->tripped) || atomic_read(&timer->ping)) return POLLPRI; |