]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/block/aoe/aoedev.c
aoe: Use SKB interfaces for list management instead of home-grown stuff.
[linux-2.6-omap-h63xx.git] / drivers / block / aoe / aoedev.c
index a1d813ab0d6b6046b7d1a1e34ac3d60fd4b68179..75a610adf515006def51ceab921e9b405af5004c 100644 (file)
@@ -188,14 +188,12 @@ skbfree(struct sk_buff *skb)
 static void
 skbpoolfree(struct aoedev *d)
 {
-       struct sk_buff *skb;
+       struct sk_buff *skb, *tmp;
 
-       while ((skb = d->skbpool_hd)) {
-               d->skbpool_hd = skb->next;
-               skb->next = NULL;
+       skb_queue_walk_safe(&d->skbpool, skb, tmp)
                skbfree(skb);
-       }
-       d->skbpool_tl = NULL;
+
+       __skb_queue_head_init(&d->skbpool);
 }
 
 /* find it or malloc it */
@@ -217,6 +215,8 @@ aoedev_by_sysminor_m(ulong sysminor)
                goto out;
        INIT_WORK(&d->work, aoecmd_sleepwork);
        spin_lock_init(&d->lock);
+       skb_queue_head_init(&d->sendq);
+       skb_queue_head_init(&d->skbpool);
        init_timer(&d->timer);
        d->timer.data = (ulong) d;
        d->timer.function = dummy_timer;