This prevents possible race between bond_enslave and bond_handle_frame as reported by Nicolas by moving rx_handler register/unregister. slave->bond is added to hold pointer to master bonding sructure. That way dev->master is no longer used in bond_handler_frame. Also, this removes "BUG: scheduling while atomic" message Reported-by: Nicolas de Pesloüan <nicolas.2p.debian@gmail.com> Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Tested-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| bond_3ad.c | ||
| bond_3ad.h | ||
| bond_alb.c | ||
| bond_alb.h | ||
| bond_debugfs.c | ||
| bond_ipv6.c | ||
| bond_main.c | ||
| bond_procfs.c | ||
| bond_sysfs.c | ||
| bonding.h | ||
| Makefile | ||