From: David S. Miller Date: Tue, 23 Sep 2008 07:27:47 +0000 (-0700) Subject: usbatm: Use skb_queue_walk_safe() instead of by-hand implementation. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b5f61ab96dd093c5190c1540fed14f71ed821ce7;p=openwrt%2Fstaging%2Fblogic.git usbatm: Use skb_queue_walk_safe() instead of by-hand implementation. Signed-off-by: David S. Miller --- diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index 07228721cafe..0da2c25bab3b 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -640,14 +640,13 @@ static void usbatm_cancel_send(struct usbatm_data *instance, atm_dbg(instance, "%s entered\n", __func__); spin_lock_irq(&instance->sndqueue.lock); - for (skb = instance->sndqueue.next, n = skb->next; - skb != (struct sk_buff *)&instance->sndqueue; - skb = n, n = skb->next) + skb_queue_walk_safe(&instance->sndqueue, skb, n) { if (UDSL_SKB(skb)->atm.vcc == vcc) { atm_dbg(instance, "%s: popping skb 0x%p\n", __func__, skb); __skb_unlink(skb, &instance->sndqueue); usbatm_pop(vcc, skb); } + } spin_unlock_irq(&instance->sndqueue.lock); tasklet_disable(&instance->tx_channel.tasklet);