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
6 [ Upstream commit 6d517353c70bb0818b691ca003afdcb5ee5ea44e ]
8 By code inspection, the freeze_work is never canceled.
10 Fix by adding a cancel_work_sync in the shutdown path to insure it is no
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>
21 drivers/infiniband/hw/hfi1/chip.c | 1 +
22 1 file changed, 1 insertion(+)
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)
30 /* disable the port */
31 clear_rcvctrl(dd, RCV_CTRL_RCV_PORT_ENABLE_SMASK);
32 + cancel_work_sync(&ppd->freeze_work);
35 static inline int init_cpu_counters(struct hfi1_devdata *dd)