lkml.org 
[lkml]   [2002]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [BUG] mysterious tty deadlock
    Russell King wrote:
    >
    > ...
    > > --- 2.5.32/drivers/serial/core.c~serial-race Wed Aug 28 15:22:22 2002
    > > +++ 2.5.32-akpm/drivers/serial/core.c Wed Aug 28 15:22:26 2002
    > > @@ -1315,13 +1315,14 @@ static void uart_wait_until_sent(struct
    > > * 'timeout' / 'expire' give us the maximum amount of time
    > > * we wait.
    > > */
    > > + set_current_state(TASK_INTERRUPTIBLE);
    > > while (!port->ops->tx_empty(port)) {
    > > - set_current_state(TASK_INTERRUPTIBLE);
    > > schedule_timeout(char_time);
    > > if (signal_pending(current))
    > > break;
    > > if (time_after(jiffies, expire))
    > > break;
    > > + set_current_state(TASK_INTERRUPTIBLE);
    > > }
    > > set_current_state(TASK_RUNNING); /* might not be needed */
    > > }
    >
    > Patch looks good, as far as correctness goes. However, since char_time
    > will be the amount of time for one character, we should never sleep long
    > enough for the user to notice this slip-up.
    >
    > If people are seeing deadlocks, I agree with wli that there's something
    > very wrong elsewhere.

    Well Bill's trace is claiming that we're doing a schedule_timeout(0x7fffffff)
    for some reason.

    But yes, he seems to be able to hit it too frequently for this to be
    the cause.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:28    [W:0.033 / U:0.060 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site