On Mon, Mar 28, 2011 at 12:21:53PM +0200, Thomas Gleixner wrote: > On Mon, 28 Mar 2011, Lukasz.Rymanowski@xxxxxxxxx wrote: > > > >> +/** > > >> + * cts_interrupt() - Called to handle CTS interrupt. > > >> + * @irq: Interrupt that occurred. > > >> + * @dev_id: Device ID where interrupt occurred. > > >> + * > > >> + * The cts_interrupt() function is called if interrupt on CTS occurred. > > >> + * It disables the interrupt and starts a new work thread to handle > > >> + * the interrupt. > > >> + */ > > >> +static irqreturn_t cts_interrupt(int irq, void *dev_id) { > > >> + struct uart_info *uart_info = dev_get_drvdata(dev_id); #ifdef > > >> +CONFIG_PM > > >> + disable_irq_wake(irq); > > >> +#endif > > >> + disable_irq_nosync(irq); > > >> + > > >> + /* Create work and leave IRQ context. */ > > >> + (void)create_work_item(uart_info, handle_cts_irq); > > >> + > > >> + return IRQ_HANDLED; > > >> +} > > > > >Have you thought about using a threaded interrupt handler? That would make all this work cruft go away. > > > > Good point. > > To be honest we did think about it but in the time we where we were busy with other issues. > > Anyway, shall we resend patches now or we can push patch for it once driver gets in the tree ? > > Up to Greg. Just send patches after it's in the linux-next tree. Give it a week or so before that happens due to .39-rc1 issues at the moment and vacation schedules... thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel