Re: [PATCH] CRISv10 serial driver rewrite

Jiri Slaby
2007-11-05T11:24:52Z

On 11/05/2007 12:18 PM, Jesper Nilsson wrote:
> On Fri, Nov 02, 2007 at 11:39:09AM +0100, Jiri Slaby wrote:
>> On 11/02/2007 10:34 AM, Jesper Nilsson wrote:
>>> @@ -4434,7 +3941,7 @@ block_til_ready(struct tty_struct *tty, struct file * filp,
>>> if (tty_hung_up_p(filp) ||
>>> (info->flags & ASYNC_CLOSING)) {
>>> if (info->flags & ASYNC_CLOSING)
>>> - interruptible_sleep_on(&info->close_wait);
>>> + wait_event_interruptible(info->close_wait, 0);
>> Aiee, this is nonsense, 0 will never be 1, only signal will stop this, use
>> completion instead.
>
> True, I've changed it to use "!info->flags & ASYNC_CLOSING" condition
> for now, as this is a more non-intrusive patch.
> I will look at using completion later, at the same time as using

Aha, then the completion is a bad idea. Just
wait_event_interruptible(info->close_wait, !(info->flags & ASYNC_CLOSING));
as you proposed to use is fine (and you don't need the "if (info->flags &
ASYNC_CLOSING)" test one line above).

regards,
--
Jiri Slaby (jirislaby@gmail.com)
Faculty of Informatics, Masaryk University