android_kernel_samsung_msm8976/net/batman-adv
Matthias Schiffer b44cfec16d batman-adv: set up network coding packet handlers during module init
commit 6c519bad7b19a2c14a075b400edabaa630330123 upstream.

batman-adv saves its table of packet handlers as a global state, so handlers
must be set up only once (and setting them up a second time will fail).

The recently-added network coding support tries to set up its handler each time
a new softif is registered, which obviously fails when more that one softif is
used (and in consequence, the softif creation fails).

Fix this by splitting up batadv_nc_init into batadv_nc_init (which is called
only once) and batadv_nc_mesh_init (which is called for each softif); in
addition batadv_nc_free is renamed to batadv_nc_mesh_free to keep naming
consistent.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-11-20 12:27:47 -08:00
..
Kconfig batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
Makefile batman-adv: update Makefile copyright years 2013-03-27 10:29:54 +01:00
bat_algo.h
bat_iv_ogm.c batman-adv: forward late OGMs from best next hop 2013-06-10 08:42:17 +02:00
bitarray.c
bitarray.h
bridge_loop_avoidance.c batman-adv: Don't handle address updates when bla is disabled 2013-06-10 08:42:18 +02:00
bridge_loop_avoidance.h
debugfs.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
debugfs.h
distributed-arp-table.c batman-adv: make DAT drop ARP requests targeting local clients 2013-05-09 12:39:45 +02:00
distributed-arp-table.h
gateway_client.c batman-adv: use seq_puts instead of seq_printf when the format is constant 2013-03-27 10:29:55 +01:00
gateway_client.h
gateway_common.c
gateway_common.h
hard-interface.c batman-adv: free an hard-interface before adding it 2013-03-27 10:29:53 +01:00
hard-interface.h batman-adv: Don't always delete softif when last slave was removed 2013-03-27 10:27:32 +01:00
hash.c
hash.h
icmp_socket.c
icmp_socket.h
main.c batman-adv: set up network coding packet handlers during module init 2013-11-20 12:27:47 -08:00
main.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-22 20:32:51 -04:00
network-coding.c batman-adv: set up network coding packet handlers during module init 2013-11-20 12:27:47 -08:00
network-coding.h batman-adv: set up network coding packet handlers during module init 2013-11-20 12:27:47 -08:00
originator.c batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code 2013-05-17 09:54:28 +02:00
originator.h batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code 2013-05-17 09:54:28 +02:00
packet.h batman-adv: Fix endianness errors for network coding 2013-03-27 10:27:31 +01:00
ring_buffer.c
ring_buffer.h
routing.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-30 03:55:20 -04:00
routing.h
send.c batman-adv: network coding - save overheard and tx packets for decoding 2013-03-13 22:53:50 +01:00
send.h
soft-interface.c batman-adv: Avoid double freeing of bat_counters 2013-05-21 21:34:36 +02:00
soft-interface.h batman-adv: Allow to use rntl_link for device creation/deletion 2013-03-27 10:27:34 +01:00
sysfs.c batman-adv: wait for rtnl in batadv_store_mesh_iface instead of failing if it is taken 2013-06-10 08:42:16 +02:00
sysfs.h
translation-table.c batman-adv: Fix rcu_barrier() miss due to double call_rcu() in TT code 2013-05-17 09:54:28 +02:00
translation-table.h
types.h batman-adv: network coding - receive coded packets and decode them 2013-03-13 22:53:51 +01:00
unicast.c batman-adv: don't use !! in bool conversion 2013-03-13 22:53:48 +01:00
unicast.h
vis.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-22 20:32:51 -04:00
vis.h