Nikolay Aleksandrov
2015-Jul-23 17:05 UTC
[Bridge] [PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers
On 07/23/2015 06:59 PM, Stephen Hemminger wrote:> On Thu, 23 Jul 2015 09:07:37 -0700 > Nikolay Aleksandrov <nikolay at cumulusnetworks.com> wrote: > >> + /* Stop hello and hold timer */ >> + spin_lock_bh(&br->lock); >> + del_timer(&br->hello_timer); >> + list_for_each_entry(p, &br->port_list, list) >> + del_timer(&p->hold_timer); >> + spin_unlock_bh(&br->lock); > > Wouldn't it be easier to use del_timer_sync here? >I think it should work. Also I have an error in the commit message about the kernel BPDU sending which I need to correct. I'll prepare a v2 with your suggestion and fixed commit message. Thanks, Nik
Stephen Hemminger
2015-Jul-23 17:13 UTC
[Bridge] [PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers
On Thu, 23 Jul 2015 19:05:56 +0200 Nikolay Aleksandrov <nikolay at cumulusnetworks.com> wrote:> On 07/23/2015 06:59 PM, Stephen Hemminger wrote: > > On Thu, 23 Jul 2015 09:07:37 -0700 > > Nikolay Aleksandrov <nikolay at cumulusnetworks.com> wrote: > > > >> + /* Stop hello and hold timer */ > >> + spin_lock_bh(&br->lock); > >> + del_timer(&br->hello_timer); > >> + list_for_each_entry(p, &br->port_list, list) > >> + del_timer(&p->hold_timer); > >> + spin_unlock_bh(&br->lock); > > > > Wouldn't it be easier to use del_timer_sync here? > > > I think it should work. Also I have an error in the commit message > about the kernel BPDU sending which I need to correct. I'll prepare > a v2 with your suggestion and fixed commit message.The one thing to watch out for with del_timer_sync is that the timer routine and the caller can't be using the same lock otherwise timer will be spinning waiting to get lock that is held by caller who is waiting for timer.