Re: [PATCH] cxgb3: Don't call cxgb_vlan_mode until q locks are initialized
From: David Miller <davem@davemloft.net>
Date: 2012-05-01 02:09:47
From: David Miller <davem@davemloft.net>
Date: 2012-05-01 02:09:47
From: Roland Dreier <roland@kernel.org> Date: Mon, 30 Apr 2012 10:15:47 -0700
From: Roland Dreier <redacted> The driver calls cxgb_vlan_mode() from init_one(). This calls into synchronize_rx(), which locks all the q locks, but the q locks are not initialized until cxgb_up() -> setup_sge_qsets(). So move the call to cxgb_vlan_mode() into cxgb_up(), after the call to setup_sge_qsets(). We also move the body of these functions up higher to avoid having to a forward declaration. This was found because of the lockdep warning:
...
Contrary to what lockdep says, the code is not fine: we are locking an uninitialized spinlock. Signed-off-by: Roland Dreier <redacted>
Applied, thanks.