File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -323,6 +323,19 @@ static void rdmaip_send_gratuitous_arp(struct net_device *out_dev,
323
323
RDMAIP_DBG2_PTR ("Sending GARP message for adding IP addr %pI4 on %s\n" ,
324
324
(void * )& ip_addr , out_dev -> name );
325
325
326
+ /*
327
+ * If module unload in progress, dont queue the work request to the
328
+ * rdmaip_garps_wq.
329
+ */
330
+ mutex_lock (& rdmaip_global_flag_lock );
331
+ if (rdmaip_is_teardown_flag_set ()) {
332
+ RDMAIP_DBG2 ("%s: unload inprogress, dont queue GARP send\n" ,
333
+ out_dev -> name );
334
+ mutex_unlock (& rdmaip_global_flag_lock );
335
+ return ;
336
+ }
337
+ mutex_unlock (& rdmaip_global_flag_lock );
338
+
326
339
if (rdmaip_active_bonding_arps_gap_ms == 0 ||
327
340
rdmaip_active_bonding_arps_gap_ms > 100 ) {
328
341
pr_warn ("arp gap (%d) out of range, using default (%d)\n" ,
You can’t perform that action at this time.
0 commit comments