br2684: don't send frames on not-ready vcc
authorDavid Woodhouse <dwmw2@infradead.org>
Tue, 27 Nov 2012 23:28:36 +0000 (23:28 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sun, 2 Dec 2012 00:05:14 +0000 (00:05 +0000)
Avoid submitting packets to a vcc which is being closed. Things go badly
wrong when the ->pop method gets later called after everything's been
torn down.

Use the ATM socket lock for synchronisation with vcc_destroy_socket(),
which clears the ATM_VF_READY bit under the same lock. Otherwise, we
could end up submitting a packet to the device driver even after its
->ops->close method has been called. And it could call the vcc's ->pop
method after the protocol has been shut down. Which leads to a panic.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Acked-by: Krzysztof Mazur <krzysiek@podlesie.net>

No differences found