From: Nikolay Aleksandrov <niko...@cumulusnetworks.com> Date: Thu, 1 Jun 2017 18:07:55 +0300
> When the transition of NO_STP -> KERNEL_STP was fixed by always calling > mod_timer in br_stp_start, it introduced a new regression which causes > the timer to be armed even when the bridge is down, and since we stop > the timers in its ndo_stop() function, they never get disabled if the > device is destroyed before it's upped. > > To reproduce: > $ while :; do ip l add br0 type bridge hello_time 100; brctl stp br0 on; > ip l del br0; done; > > CC: Xin Long <lucien....@gmail.com> > CC: Ivan Vecera <c...@cera.cz> > CC: Sebastian Ott <seb...@linux.vnet.ibm.com> > Reported-by: Sebastian Ott <seb...@linux.vnet.ibm.com> > Fixes: 6d18c732b95c ("bridge: start hello_timer when enabling KERNEL_STP in > br_stp_start") > Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com> Applied and queued up for -stable.