r6040: completely rework the RX path
commit9ca28dc4c75f018201e21b10e34b8161bcb0ffb2
authorFlorian Fainelli <florian.fainelli@telecomint.eu>
Sun, 13 Jul 2008 12:33:36 +0000 (13 14:33 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 22 Jul 2008 23:59:28 +0000 (22 19:59 -0400)
tree4f7f87b570df4d12077a3854f1deb0a0b6cffc51
parent129cf9a7028fc50b226b8021bc0b76fb38efa81d
r6040: completely rework the RX path

This patch completely reworks the RX path in order to be
more accurate about what is going on with the MAC.
We no longer read the error from the MLSR register instead read
the descriptor status register which reflects, the error per descriptor.
We now allocate skbs on the fly in r6040_rx, and we handle allocation
failure instead of simply dropping the packet. Remove the
rx_free_desc counter of r6040_private structure since we
allocate skbs in the RX path.

r6040_rx_buf_alloc is now removed and becomes unuseless.

Signed-Off-By: Joerg Albert <jal2@gmx.de>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/r6040.c