summaryrefslogtreecommitdiffstats
path: root/drivers/net/vxge/vxge-main.c
diff options
context:
space:
mode:
authorSreenivasa Honnur <Sreenivasa.Honnur@neterion.com>2010-03-29 00:07:34 +0200
committerDavid S. Miller <davem@davemloft.net>2010-03-30 01:57:20 +0200
commit18dec74c16abaa92d663dfef64ee6503e085be89 (patch)
tree88c03fb3ec663cb4b1c2d2ed4ae7d6ac180ae32b /drivers/net/vxge/vxge-main.c
parentMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil... (diff)
downloadlinux-18dec74c16abaa92d663dfef64ee6503e085be89.tar.xz
linux-18dec74c16abaa92d663dfef64ee6503e085be89.zip
vxge: Fix a receive stall due to driver being out of synch with chip.
- Fix a receive stall due to driver being out of synch with chip. In a corner case scenario the adapter's ring controller may return a RxD with transfer code of 0xC, while the host ownership bit is still set to the adapter. The driver needs to assume that this case where (host_ownership == 1 or adapter) and (transfer_code == 0xC) is valid, that is, this RxD has been returned by the receive ring controller but no frame data is associated with the rxd. - Restore the transfer code field of each newly replenished RxD to 0x0. - Code cleanup. Removed usage of magic numbers. Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com> Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge/vxge-main.c')
0 files changed, 0 insertions, 0 deletions