From a5b88632fc967906a86e16513bae9cc49070934c Mon Sep 17 00:00:00 2001 From: Emil Renner Berthing Date: Wed, 27 Jan 2021 18:32:55 +0100 Subject: net: atm: pppoatm: use tasklet_init to initialize wakeup tasklet Previously a temporary tasklet structure was initialized on the stack using DECLARE_TASKLET_OLD() and then copied over and modified. Nothing else in the kernel seems to use this pattern, so let's just call tasklet_init() like everyone else. Signed-off-by: Emil Renner Berthing Link: https://lore.kernel.org/r/20210127173256.13954-1-kernel@esmil.dk Signed-off-by: Jakub Kicinski --- net/atm/pppoatm.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'net/atm/pppoatm.c') diff --git a/net/atm/pppoatm.c b/net/atm/pppoatm.c index 579b66da1d95..5f06af098390 100644 --- a/net/atm/pppoatm.c +++ b/net/atm/pppoatm.c @@ -389,11 +389,7 @@ static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg) struct atm_backend_ppp be; struct pppoatm_vcc *pvcc; int err; - /* - * Each PPPoATM instance has its own tasklet - this is just a - * prototypical one used to initialize them - */ - static const DECLARE_TASKLET_OLD(tasklet_proto, pppoatm_wakeup_sender); + if (copy_from_user(&be, arg, sizeof be)) return -EFAULT; if (be.encaps != PPPOATM_ENCAPS_AUTODETECT && @@ -415,8 +411,8 @@ static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg) pvcc->chan.ops = &pppoatm_ops; pvcc->chan.mtu = atmvcc->qos.txtp.max_sdu - PPP_HDRLEN - (be.encaps == e_vc ? 0 : LLC_LEN); - pvcc->wakeup_tasklet = tasklet_proto; - pvcc->wakeup_tasklet.data = (unsigned long) &pvcc->chan; + tasklet_init(&pvcc->wakeup_tasklet, pppoatm_wakeup_sender, + (unsigned long)&pvcc->chan); err = ppp_register_channel(&pvcc->chan); if (err != 0) { kfree(pvcc); -- cgit