diff options
author | Sathya Perla | 2012-12-17 20:38:51 +0100 |
---|---|---|
committer | David S. Miller | 2012-12-19 01:18:39 +0100 |
commit | d23e946cb67e5011226bcbd1597a632ac7a48c35 (patch) | |
tree | 6c2089b3af7d3d142fb83137b5490628e38a1fd0 /ipc | |
parent | be2net: fix be_close() to ensure all events are ack'ed (diff) | |
download | kernel-qcow2-linux-d23e946cb67e5011226bcbd1597a632ac7a48c35.tar.gz kernel-qcow2-linux-d23e946cb67e5011226bcbd1597a632ac7a48c35.tar.xz kernel-qcow2-linux-d23e946cb67e5011226bcbd1597a632ac7a48c35.zip |
be2net: fix wrong frag_idx reported by RX CQ
The RX CQ can report completions with invalid frag_idx when the RXQ that
was *previously* using it, was not cleaned up properly. This hits
a BUG_ON() in be2net.
When completion coalescing is enabled on a CQ, an explicit CQ-notify
(with rearm) is needed for each compl, to flush partially coalesced CQ
entries that are pending DMA.
In be_close(), this fix now notifies CQ for each compl, waits explicitly
for the flush compl to arrive and complains if it doesn't arrive.
Also renaming be_crit_error() to be_hw_error() as it's the more
appropriate name and to convey that we don't wait for the flush compl
only when a HW error has occurred.
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions