~ubuntu-branches/debian/experimental/linux-2.6/experimental

« back to all changes in this revision

Viewing changes to drivers/tty/serial/sh-sci.c

  • Committer: Package Import Robot
  • Author(s): Ben Hutchings, Ben Hutchings
  • Date: 2012-04-15 16:36:13 UTC
  • mfrom: (1.2.35)
  • Revision ID: package-import@ubuntu.com-20120415163613-26gijayh8m74gs8h
Tags: 3.3.2-1~experimental.1
* New upstream stable update:
  http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.3.1
  http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.3.2

[ Ben Hutchings ]
* [armel/iop32x] Add missing #includes (fixes FTBFS)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1229
1229
        port->icount.tx += sg_dma_len(&s->sg_tx);
1230
1230
 
1231
1231
        async_tx_ack(s->desc_tx);
1232
 
        s->cookie_tx = -EINVAL;
1233
1232
        s->desc_tx = NULL;
1234
1233
 
1235
1234
        if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
1236
1235
                uart_write_wakeup(port);
1237
1236
 
1238
1237
        if (!uart_circ_empty(xmit)) {
 
1238
                s->cookie_tx = 0;
1239
1239
                schedule_work(&s->work_tx);
1240
 
        } else if (port->type == PORT_SCIFA || port->type == PORT_SCIFB) {
1241
 
                u16 ctrl = sci_in(port, SCSCR);
1242
 
                sci_out(port, SCSCR, ctrl & ~SCSCR_TIE);
 
1240
        } else {
 
1241
                s->cookie_tx = -EINVAL;
 
1242
                if (port->type == PORT_SCIFA || port->type == PORT_SCIFB) {
 
1243
                        u16 ctrl = sci_in(port, SCSCR);
 
1244
                        sci_out(port, SCSCR, ctrl & ~SCSCR_TIE);
 
1245
                }
1243
1246
        }
1244
1247
 
1245
1248
        spin_unlock_irqrestore(&port->lock, flags);
1501
1504
        }
1502
1505
 
1503
1506
        if (s->chan_tx && !uart_circ_empty(&s->port.state->xmit) &&
1504
 
            s->cookie_tx < 0)
 
1507
            s->cookie_tx < 0) {
 
1508
                s->cookie_tx = 0;
1505
1509
                schedule_work(&s->work_tx);
 
1510
        }
1506
1511
#endif
1507
1512
 
1508
1513
        if (!s->chan_tx || port->type == PORT_SCIFA || port->type == PORT_SCIFB) {