Dean Jenkins fea7b02fbf Bluetooth: Avoid rfcomm_session_timeout using freed session
Use del_timer_sync() instead of del_timer() as this ensures
that rfcomm_session_timeout() is not running on a different
CPU when rfcomm_session_put() is called. This avoids a race
condition on SMP systems because potentially
rfcomm_session_timeout() could reuse the freed RFCOMM session
structure caused by the execution of rfcomm_session_put().

Note that this modification makes the reason for the RFCOMM
session refcnt mechanism redundant.

Signed-off-by: Dean Jenkins <Dean_Jenkins@mentor.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
2013-03-08 10:40:24 -03:00
..
2013-02-11 14:16:26 -05:00
2013-01-29 10:48:30 +01:00
2013-02-21 12:05:51 -08:00
2013-02-21 12:05:51 -08:00
2013-02-21 12:05:51 -08:00
2013-03-02 16:46:07 -08:00
2012-09-26 21:10:25 -04:00
2013-02-21 12:05:51 -08:00
2013-02-10 19:41:08 -05:00