Lines Matching refs:st_data
470 void st_tx_wakeup(struct st_data_s *st_data) in st_tx_wakeup() argument
476 if (test_and_set_bit(ST_TX_SENDING, &st_data->tx_state)) { in st_tx_wakeup()
479 set_bit(ST_TX_WAKEUP, &st_data->tx_state); in st_tx_wakeup()
487 clear_bit(ST_TX_WAKEUP, &st_data->tx_state); in st_tx_wakeup()
488 while ((skb = st_int_dequeue(st_data))) { in st_tx_wakeup()
490 spin_lock_irqsave(&st_data->lock, flags); in st_tx_wakeup()
492 set_bit(TTY_DO_WRITE_WAKEUP, &st_data->tty->flags); in st_tx_wakeup()
493 len = st_int_write(st_data, skb->data, skb->len); in st_tx_wakeup()
498 st_data->tx_skb = skb; in st_tx_wakeup()
499 spin_unlock_irqrestore(&st_data->lock, flags); in st_tx_wakeup()
503 spin_unlock_irqrestore(&st_data->lock, flags); in st_tx_wakeup()
506 } while (test_bit(ST_TX_WAKEUP, &st_data->tx_state)); in st_tx_wakeup()
509 clear_bit(ST_TX_SENDING, &st_data->tx_state); in st_tx_wakeup()