From: Veaceslav Falico Date: Mon, 17 Jun 2013 17:30:35 +0000 (+0200) Subject: bonding: don't call alb_set_slave_mac_addr() while atomic X-Git-Tag: v3.11-rc1~16^2~71 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cedb743f3e8db12cc76a706888792497953e93bb;p=pandora-kernel.git bonding: don't call alb_set_slave_mac_addr() while atomic alb_set_slave_mac_addr() sets the mac address in alb mode via dev_set_mac_address(), which might sleep. It's called from alb_handle_addr_collision_on_attach() in atomic context (under read_lock(bond->lock)), thus triggering a bug. Fix this by moving the lock inside alb_handle_addr_collision_on_attach(). v1->v2: As Nikolay Aleksandrov noticed, we can drop the bond->lock completely. Also, use bond_slave_has_mac(), when possible. Signed-off-by: Veaceslav Falico Signed-off-by: Nikolay Aleksandrov Signed-off-by: David S. Miller --- Reading git-diff-tree failed