Messages in this thread | | | Date | Mon, 14 Apr 2008 14:10:02 -0400 | From | Dmitry Torokhov <> | Subject | Re: [PATCH 1/3] wm97xx-core: Only schedule interrupt handler if not already scheduled |
| |
Hi Mark,
On Mon, Apr 14, 2008 at 06:39:33PM +0100, Mark Brown wrote: > static irqreturn_t wm97xx_pen_interrupt(int irq, void *dev_id) > { > struct wm97xx *wm = dev_id; > > - wm->mach_ops->irq_enable(wm, 0); > - queue_work(wm->ts_workq, &wm->pen_event_work); > + if (!work_pending(&wm->pen_event_work)) { > + wm->mach_ops->irq_enable(wm, 0); > + queue_work(wm->ts_workq, &wm->pen_event_work); > + }
Given the fact that work will not be queued if it is pending anyway why is this change needed?
-- Dmitry
| |