summaryrefslogtreecommitdiffstats
path: root/drivers/rpmsg/rpmsg_char.c
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2019-10-29 07:09:14 +0100
committerBjorn Andersson <bjorn.andersson@linaro.org>2019-11-09 01:49:37 +0100
commitbb06a5ce88fd3489d2415470b20ab949550a62ec (patch)
tree9e1bde803149aa67213b5f272fe948075e1bfc5c /drivers/rpmsg/rpmsg_char.c
parentrpmsg: glink: Free pending deferred work on remove (diff)
downloadlinux-bb06a5ce88fd3489d2415470b20ab949550a62ec.tar.xz
linux-bb06a5ce88fd3489d2415470b20ab949550a62ec.zip
rpmsg: char: Simplify 'rpmsg_eptdev_release()'
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>
Diffstat (limited to 'drivers/rpmsg/rpmsg_char.c')
-rw-r--r--drivers/rpmsg/rpmsg_char.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index c655074c07c2..876ce43df732 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -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);