]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.14/ib-hfi1-insure-freeze_work-work_struct-is-canceled-o.patch
Linux 4.19.56
[thirdparty/kernel/stable-queue.git] / queue-4.14 / ib-hfi1-insure-freeze_work-work_struct-is-canceled-o.patch
1 From 328770bb4f57d6b23c976f5c33d8ba8a94f5d14b Mon Sep 17 00:00:00 2001
2 From: Mike Marciniszyn <mike.marciniszyn@intel.com>
3 Date: Fri, 24 May 2019 11:44:45 -0400
4 Subject: IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
5
6 [ Upstream commit 6d517353c70bb0818b691ca003afdcb5ee5ea44e ]
7
8 By code inspection, the freeze_work is never canceled.
9
10 Fix by adding a cancel_work_sync in the shutdown path to insure it is no
11 longer running.
12
13 Fixes: 7724105686e7 ("IB/hfi1: add driver files")
14 Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
15 Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
16 Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
17 Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
18 Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
19 Signed-off-by: Sasha Levin <sashal@kernel.org>
20 ---
21 drivers/infiniband/hw/hfi1/chip.c | 1 +
22 1 file changed, 1 insertion(+)
23
24 diff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c
25 index db33ad985a12..69a79fdfa23e 100644
26 --- a/drivers/infiniband/hw/hfi1/chip.c
27 +++ b/drivers/infiniband/hw/hfi1/chip.c
28 @@ -9823,6 +9823,7 @@ void hfi1_quiet_serdes(struct hfi1_pportdata *ppd)
29
30 /* disable the port */
31 clear_rcvctrl(dd, RCV_CTRL_RCV_PORT_ENABLE_SMASK);
32 + cancel_work_sync(&ppd->freeze_work);
33 }
34
35 static inline int init_cpu_counters(struct hfi1_devdata *dd)
36 --
37 2.20.1
38