Change-Id: I9a4ef87e84b53ad52f46554ad52ca5effb260f65
Signed-off-by: Colin Cross <ccross@android.com>
cpcap_irq_mask_all(cpcap);
- data->workqueue = create_workqueue("cpcap_irq");
+ data->workqueue = create_singlethread_workqueue("cpcap_irq");
INIT_WORK(&data->work, irq_work_func);
mutex_init(&data->lock);
wake_lock_init(&data->wake_lock, WAKE_LOCK_SUSPEND, "cpcap-irq");
int cpcap_irq_suspend(struct cpcap_device *cpcap)
{
struct spi_device *spi = cpcap->spi;
+ struct cpcap_irqdata *data = cpcap->irqdata;
disable_irq(spi->irq);
+ flush_work(&data->work);
return 0;
}