]> git.ipfire.org Git - people/arne_f/kernel.git/commit
via-velocity: Give RX descriptors to the NIC later on open or MTU change
authorBen Hutchings <ben@decadent.org.uk>
Mon, 14 Dec 2009 16:05:09 +0000 (16:05 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:11:09 +0000 (11:11 -0700)
commit3a088cb06e66adb133052d3fab43ec0cebb4f709
tree1c4a1dceacc41b05bd1a1d43212bbe867e9e7117
parent94df9bd3ee39444929284e7e564a1e0e310747f5
via-velocity: Give RX descriptors to the NIC later on open or MTU change

commit 35bb5cadc8c7b1462df57e32e08d964f1be7a75c upstream.

velocity_open() calls velocity_give_many_rx_descs(), which gives RX
descriptors to the NIC, before installing an interrupt handler or
calling velocity_init_registers().  I think this is very unsafe and it
appears to explain the bug report <http://bugs.debian.org/508527>.

On MTU change, velocity_give_many_rx_descs() is again called before
velocity_init_registers().  I'm not sure whether this is unsafe but
it does look wrong.

Therefore, move the calls to velocity_give_many_rx_descs() after
request_irq() and velocity_init_registers().

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Tested-by: Jan Ceuleers <jan.ceuleers@computer.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/via-velocity.c