|
@@ -609,8 +609,12 @@ void garp_uninit_applicant(struct net_device *dev, struct garp_application *appl
|
|
|
/* Delete timer and generate a final TRANSMIT_PDU event to flush out
|
|
|
* all pending messages before the applicant is gone. */
|
|
|
del_timer_sync(&app->join_timer);
|
|
|
+
|
|
|
+ spin_lock_bh(&app->lock);
|
|
|
garp_gid_event(app, GARP_EVENT_TRANSMIT_PDU);
|
|
|
garp_pdu_queue(app);
|
|
|
+ spin_unlock_bh(&app->lock);
|
|
|
+
|
|
|
garp_queue_xmit(app);
|
|
|
|
|
|
dev_mc_del(dev, appl->proto.group_address);
|