projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
186b169
)
IB/hfi1: Fix possible panic during hotplug remove
author
Douglas Miller
<doug.miller@cornelisnetworks.com>
Wed, 2 Aug 2023 17:32:41 +0000
(13:32 -0400)
committer
Leon Romanovsky
<leon@kernel.org>
Thu, 3 Aug 2023 18:13:57 +0000
(21:13 +0300)
During hotplug remove it is possible that the update counters work
might be pending, and may run after memory has been freed.
Cancel the update counters work before freeing memory.
Fixes:
7724105686e7
("IB/hfi1: add driver files")
Signed-off-by: Douglas Miller <doug.miller@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Link:
https://lore.kernel.org/r/169099756100.3927190.15284930454106475280.stgit@awfm-02.cornelisnetworks.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/hfi1/chip.c
patch
|
blob
|
history
diff --git
a/drivers/infiniband/hw/hfi1/chip.c
b/drivers/infiniband/hw/hfi1/chip.c
index
9dbb89e
..
baaa440
100644
(file)
--- a/
drivers/infiniband/hw/hfi1/chip.c
+++ b/
drivers/infiniband/hw/hfi1/chip.c
@@
-12307,6
+12307,7
@@
static void free_cntrs(struct hfi1_devdata *dd)
if (dd->synth_stats_timer.function)
del_timer_sync(&dd->synth_stats_timer);
+ cancel_work_sync(&dd->update_cntr_work);
ppd = (struct hfi1_pportdata *)(dd + 1);
for (i = 0; i < dd->num_pports; i++, ppd++) {
kfree(ppd->cntrs);