Ralf Baechle bc0a743860 [PATCH] rcu in bpqether driver.
From Suzanne Wood <suzannew@cs.pdx.edu>:

Clarify RCU implementation in bpqether.c.

Because bpq_new_device() calls list_add_rcu() and bpq_free_device() calls
list_del_rcu(), substitute list_for_each_entry_rcu() for
list_for_each_entry() in bpq_get_ax25_dev() and in bpq_seq_start().

Add rcu dereference protection in bpq_seq_next().

The rcu_read_lock()/unlock() in bpq_device_event() are removed because
netdev event handlers are called with RTNL locking in place.

FYI: bpq_free_device() calls list_del_rcu() which, per list.h, requires
synchronize_rcu() which can block or call_rcu() or call_rcu_bh() which
cannot block.  Herbert Xu notes that synchronization is done here by
unregister_netdevice().  This calls synchronize_net() which in turn uses
synchronize_rcu().

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 17:01:27 -04:00
..
2005-10-13 21:22:27 -04:00
2005-10-04 07:13:43 -04:00
2005-10-18 17:01:27 -04:00
2005-10-03 22:06:19 -04:00
2005-09-21 22:34:08 -04:00
2005-09-23 22:58:49 -04:00
2005-06-27 00:19:53 -04:00
2005-10-05 02:11:33 -04:00
2005-10-03 22:06:19 -04:00
2005-10-05 02:11:33 -04:00
2005-06-27 00:41:51 -04:00
2005-09-21 22:34:08 -04:00
2005-09-06 22:17:12 -04:00
2005-09-06 22:47:00 -04:00
2005-09-14 08:29:31 -04:00
2005-10-03 14:01:37 -07:00
2005-09-27 15:24:13 -07:00
2005-09-26 18:29:49 -07:00
2005-08-01 19:14:01 -07:00
2005-10-13 21:22:27 -04:00
2005-07-21 14:16:54 -07:00
2005-09-23 22:54:21 -04:00
2005-09-23 22:54:21 -04:00
2005-09-07 17:17:33 -07:00
2005-08-18 16:59:14 -04:00
2005-10-04 05:30:02 -04:00
2005-09-14 08:37:31 -04:00
2005-08-18 22:14:39 -04:00
2005-10-03 22:06:19 -04:00
2005-09-14 08:46:21 -04:00
2005-07-12 12:08:43 -07:00
2005-10-13 21:22:27 -04:00
2005-10-03 22:06:19 -04:00
2005-09-14 09:18:21 -04:00
2005-10-18 16:58:27 -04:00
2005-08-29 15:31:14 -07:00
2005-09-05 18:06:53 -04:00
2005-10-03 22:06:19 -04:00
2005-09-21 22:32:50 -04:00
2005-09-07 17:17:34 -07:00
2005-09-06 22:47:00 -04:00
2005-09-27 12:12:42 -07:00