rpmsg: char: Simplify 'rpmsg_eptdev_release()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Tue, 29 Oct 2019 06:09:14 +0000 (07:09 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Sat, 9 Nov 2019 00:49:37 +0000 (16:49 -0800)
Use 'skb_queue_purge()' instead of re-implementing it.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/rpmsg/rpmsg_char.c

index c655074..876ce43 100644 (file)
@@ -146,7 +146,6 @@ static int rpmsg_eptdev_release(struct inode *inode, struct file *filp)
 {
        struct rpmsg_eptdev *eptdev = cdev_to_eptdev(inode->i_cdev);
        struct device *dev = &eptdev->dev;
-       struct sk_buff *skb;
 
        /* Close the endpoint, if it's not already destroyed by the parent */
        mutex_lock(&eptdev->ept_lock);
@@ -157,10 +156,7 @@ static int rpmsg_eptdev_release(struct inode *inode, struct file *filp)
        mutex_unlock(&eptdev->ept_lock);
 
        /* Discard all SKBs */
-       while (!skb_queue_empty(&eptdev->queue)) {
-               skb = skb_dequeue(&eptdev->queue);
-               kfree_skb(skb);
-       }
+       skb_queue_purge(&eptdev->queue);
 
        put_device(dev);