Driver/snull/snull_release_buffer()

Last-modified: 2007-09-11 (火) 14:00:38

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 :}