On 11/05/2007 02:11 PM, Jesper Nilsson wrote:
> New and improved serial driver for CRISv10, take two, with improvements
> suggested by Jiri Slaby.
> 
> - Call wait_event_interruptible with a sensible condition.
> - Moved common code for deregistering DMA and IRQ to deinit_port function.
> - Use setup_timer when initializing flush_timer.
> - Convert bitfield for uses_dma_in and uses_dma_out to regular bytes.
> - Removed CVS tags.
> - Removed defines and comments for CRIS_BUF_SIZE and TTY_THRESHOLD_THROTTLE
>   (no longer used).
> - Cleaned up code to pass checkpatch.
> - Add crisv10.h header file.
> - Merge of CRISv10 from Axis internal CVS.
> 
> Signed-off-by: Jesper Nilsson <[EMAIL PROTECTED]>
> 
> ---
>  drivers/serial/crisv10.c         | 1291 ++++++++++++-------------------------
>  drivers/serial/crisv10.h         |  146 ++++
>  2 files changed, 580 insertions(+), 857 deletions(-)
> 
> diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
> index f523cdf..ff9634d 100644
> --- a/drivers/serial/crisv10.c
> +++ b/drivers/serial/crisv10.c
[...]
> @@ -4434,7 +3939,8 @@ 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)

You can remove this (__^) line now, the test itself is inside
wait_event_interruptible macro yet.

> -                     interruptible_sleep_on(&info->close_wait);
> +                     wait_event_interruptible(info->close_wait,
> +                             !info->flags & ASYNC_CLOSING);

This is still buggy, I intentionally put the parenthesis around "info->flags &
ASYNC_CLOSING" in my previous mail. This way it will ever evaluate to 0 (since
it is as same as (!info->flags) & ASYNC_CLOSING now).

>  #ifdef SERIAL_DO_RESTART
>               if (info->flags & ASYNC_HUP_NOTIFY)
>                       return -EAGAIN;

regards,
-- 
Jiri Slaby ([EMAIL PROTECTED])
Faculty of Informatics, Masaryk University
-
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/

Reply via email to