Lines Matching refs:st_data
449 void st_tx_wakeup(struct st_data_s *st_data) in st_tx_wakeup() argument
455 if (test_and_set_bit(ST_TX_SENDING, &st_data->tx_state)) { in st_tx_wakeup()
458 set_bit(ST_TX_WAKEUP, &st_data->tx_state); in st_tx_wakeup()
466 clear_bit(ST_TX_WAKEUP, &st_data->tx_state); in st_tx_wakeup()
467 while ((skb = st_int_dequeue(st_data))) { in st_tx_wakeup()
469 spin_lock_irqsave(&st_data->lock, flags); in st_tx_wakeup()
471 set_bit(TTY_DO_WRITE_WAKEUP, &st_data->tty->flags); in st_tx_wakeup()
472 len = st_int_write(st_data, skb->data, skb->len); in st_tx_wakeup()
477 st_data->tx_skb = skb; in st_tx_wakeup()
478 spin_unlock_irqrestore(&st_data->lock, flags); in st_tx_wakeup()
482 spin_unlock_irqrestore(&st_data->lock, flags); in st_tx_wakeup()
485 } while (test_bit(ST_TX_WAKEUP, &st_data->tx_state)); in st_tx_wakeup()
488 clear_bit(ST_TX_SENDING, &st_data->tx_state); in st_tx_wakeup()