linux/drivers/net/ethernet/qlogic
Ram Amrani 1df2adedcc qed: Fix interrupt flags on Rx LL2
Before iterating over the the LL2 Rx ring, the ring's
spinlock is taken via spin_lock_irqsave().
The actual processing of the packet [including handling
by the protocol driver] is done without said lock,
so qed releases the spinlock and re-claims it afterwards.

Problem is that the final spin_lock_irqrestore() at the end
of the iteration uses the original flags saved from the
initial irqsave() instead of the flags from the most recent
irqsave(). So it's possible that the interrupt status would
be incorrect at the end of the processing.

Fixes: 0a7fb11c23 ("qed: Add Light L2 support");
CC: Ram Amrani <Ram.Amrani@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-14 11:37:05 -07:00
..
netxen qlogic: netxen: constify bin_attribute structures 2017-02-22 15:39:09 -05:00
qed qed: Fix interrupt flags on Rx LL2 2017-03-14 11:37:05 -07:00
qede qed*: Fix link indication race 2017-02-20 17:11:54 -05:00
qlcnic scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
qlge net: qlogic: qlge: use new api ethtool_{get|set}_link_ksettings 2017-02-20 11:22:19 -05:00
Kconfig qed: Add support for hardware offloaded FCoE. 2017-02-19 18:10:42 -05:00
Makefile qede: Add basic Network driver 2015-10-27 19:34:47 -07:00
qla3xxx.c net: qlogic: qla3xxx: use new api ethtool_{get|set}_link_ksettings 2017-02-20 10:27:17 -05:00
qla3xxx.h