150 :void snull_release_buffer(struct snull_packet *pkt)
151 :{
152 : unsigned long flags;
153 : struct snull_priv *priv = netdev_priv(pkt->dev);
154 :
155 : spin_lock_irqsave(&priv->lock, flags);
156 : pkt->next = priv->ppool;
157 : priv->ppool = pkt;
158 : spin_unlock_irqrestore(&priv->lock, flags);
159 : if (netif_queue_stopped(pkt->dev) && pkt->next == NULL)
デバイスが停止しているか、pkt->nextにデータがない場合には
160 : netif_wake_queue(pkt->dev);
待ち合わせ
161 :}