summaryrefslogtreecommitdiffstats
path: root/net/atm
diff options
context:
space:
mode:
authorEmil Renner Berthing <kernel@esmil.dk>2021-01-27 18:32:56 +0100
committerJakub Kicinski <kuba@kernel.org>2021-01-29 18:24:05 -0800
commita58745979cdd2ad70cd43ce9f1de8b076ae98e21 (patch)
treeee9027e2919ba563276f9942f730c961914fa0d5 /net/atm
parenta5b88632fc967906a86e16513bae9cc49070934c (diff)
downloadlinux-a58745979cdd2ad70cd43ce9f1de8b076ae98e21.tar.gz
linux-a58745979cdd2ad70cd43ce9f1de8b076ae98e21.tar.bz2
linux-a58745979cdd2ad70cd43ce9f1de8b076ae98e21.zip
net: atm: pppoatm: use new API for wakeup tasklet
This converts the driver to use the new tasklet API introduced in commit 12cc923f1ccc ("tasklet: Introduce new initialization API") Signed-off-by: Emil Renner Berthing <kernel@esmil.dk> Link: https://lore.kernel.org/r/20210127173256.13954-2-kernel@esmil.dk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/atm')
-rw-r--r--net/atm/pppoatm.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/net/atm/pppoatm.c b/net/atm/pppoatm.c
index 5f06af098390..3e4f17d335fe 100644
--- a/net/atm/pppoatm.c
+++ b/net/atm/pppoatm.c
@@ -101,9 +101,11 @@ static inline struct pppoatm_vcc *chan_to_pvcc(const struct ppp_channel *chan)
* doesn't want to be called in interrupt context, so we do it from
* a tasklet
*/
-static void pppoatm_wakeup_sender(unsigned long arg)
+static void pppoatm_wakeup_sender(struct tasklet_struct *t)
{
- ppp_output_wakeup((struct ppp_channel *) arg);
+ struct pppoatm_vcc *pvcc = from_tasklet(pvcc, t, wakeup_tasklet);
+
+ ppp_output_wakeup(&pvcc->chan);
}
static void pppoatm_release_cb(struct atm_vcc *atmvcc)
@@ -411,8 +413,7 @@ 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);
- tasklet_init(&pvcc->wakeup_tasklet, pppoatm_wakeup_sender,
- (unsigned long)&pvcc->chan);
+ tasklet_setup(&pvcc->wakeup_tasklet, pppoatm_wakeup_sender);
err = ppp_register_channel(&pvcc->chan);
if (err != 0) {
kfree(pvcc);