Thread (44 messages) 44 messages, 10 authors, 2020-10-19

Re: [PATCH] char: ipmi: convert tasklets to use new tasklet_setup() API

From: Corey Minyard <hidden>
Date: 2020-08-18 11:33:16
Also in: dri-devel, intel-gfx, linux-arm-kernel, linux-block, linux-hyperv, linux-input, linux-mmc, linux-s390, linux-spi, linux-um, lkml

On Tue, Aug 18, 2020 at 02:46:23PM +0530, Allen wrote:
quoted
quoted
Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <redacted>
This looks good to me.

Reviewed-by: Corey Minyard <redacted>

Are you planning to push this, or do you want me to take it?  If you
want me to take it, what is the urgency?
 Thanks. Well, not hurry, as long as it goes into 5.9 with all other
changes.
Ok, this is queued in my for-next branch.

-corey
quoted
-corey
quoted
---
 drivers/char/ipmi/ipmi_msghandler.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index 737c0b6b24ea..e1814b6a1225 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -39,7 +39,7 @@

 static struct ipmi_recv_msg *ipmi_alloc_recv_msg(void);
 static int ipmi_init_msghandler(void);
-static void smi_recv_tasklet(unsigned long);
+static void smi_recv_tasklet(struct tasklet_struct *t);
 static void handle_new_recv_msgs(struct ipmi_smi *intf);
 static void need_waiter(struct ipmi_smi *intf);
 static int handle_one_recv_msg(struct ipmi_smi *intf,
@@ -3430,9 +3430,8 @@ int ipmi_add_smi(struct module         *owner,
      intf->curr_seq = 0;
      spin_lock_init(&intf->waiting_rcv_msgs_lock);
      INIT_LIST_HEAD(&intf->waiting_rcv_msgs);
-     tasklet_init(&intf->recv_tasklet,
-                  smi_recv_tasklet,
-                  (unsigned long) intf);
+     tasklet_setup(&intf->recv_tasklet,
+                  smi_recv_tasklet);
      atomic_set(&intf->watchdog_pretimeouts_to_deliver, 0);
      spin_lock_init(&intf->xmit_msgs_lock);
      INIT_LIST_HEAD(&intf->xmit_msgs);
@@ -4467,10 +4466,10 @@ static void handle_new_recv_msgs(struct ipmi_smi *intf)
      }
 }

-static void smi_recv_tasklet(unsigned long val)
+static void smi_recv_tasklet(struct tasklet_struct *t)
 {
      unsigned long flags = 0; /* keep us warning-free. */
-     struct ipmi_smi *intf = (struct ipmi_smi *) val;
+     struct ipmi_smi *intf = from_tasklet(intf, t, recv_tasklet);
      int run_to_completion = intf->run_to_completion;
      struct ipmi_smi_msg *newmsg = NULL;
@@ -4542,7 +4541,7 @@ void ipmi_smi_msg_received(struct ipmi_smi *intf,
              spin_unlock_irqrestore(&intf->xmit_msgs_lock, flags);

      if (run_to_completion)
-             smi_recv_tasklet((unsigned long) intf);
+             smi_recv_tasklet(&intf->recv_tasklet);
      else
              tasklet_schedule(&intf->recv_tasklet);
 }
--
2.17.1


-- 
       - Allen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help