On Tuesday 04 April 2006 04:44 am, Russell King wrote:
> On Mon, Apr 03, 2006 at 08:24:10PM +0900, Hyok S. Choi wrote:
>
> > +static void dcc_shutdown(struct uart_port *port)
> > +{
> > +#ifdef DCC_IRQ_USED /* real IRQ used */
> > + free_irq(port->irq, port);
> > +#else
> > + spin_lock(&port->lock);
> > + cancel_rearming_delayed_work(&dcc_poll_task);
>
> cancel_rearming_delayed_work() might sleep due to it calling
> flush_workqueue. Therefore, you must not be holding a spinlock.
Thus, I've just revised the code to lock around a counter variable
operation, which is used for life control of the polling task.
I've just posted the revised #3. :-)
--
Hyok
ARM Linux 2.6 MPU/noMMU Project http://opensrc.sec.samsung.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]