linux/drivers/net/ethernet
Zakharov Vlad 358e78b5f4 ezchip: nps_enet: check if napi has been completed
After a new NAPI_STATE_MISSED state was added to NAPI we can get into
this state and in such case we have to reschedule NAPI as some work is
still pending and we have to process it. napi_complete_done() function
returns false if we have to reschedule something (e.g. in case we were
in MISSED state) as current polling have not been completed yet.

nps_enet driver hasn't been verifying the return value of
napi_complete_done() and has been forcibly enabling interrupts. That is
not correct as we should not enable interrupts before we have processed
all scheduled work. As a result we were getting trapped in interrupt
hanlder chain as we had never been able to disabale ethernet
interrupts again.

So this patch makes nps_enet_poll() func verify return value of
napi_complete_done() and enable interrupts only in case all scheduled
work has been completed.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-29 14:28:16 -07:00
..
3com drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
8390
adaptec net: adaptec: starfire: add checks for dma mapping errors 2017-01-29 19:04:11 -05:00
adi scripts/spelling.txt: add "overwritting" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
aeroflex aeroflex/greth: use napi_complete_done() 2017-02-05 16:11:57 -05:00
agere drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
alacritech net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
allwinner
alteon
altera drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
amazon net: ena: remove superfluous check in ena_remove() 2017-02-20 10:22:59 -05:00
amd amd-xgbe: Fix the ECC-related bit position definitions 2017-03-22 19:39:58 -07:00
apm drivers: net: xgene: Fix crash on DT systems 2017-03-02 12:47:23 -08:00
apple
aquantia net:ethernet:aquantia: Reset is_gso flag when EOP reached. 2017-03-24 12:32:19 -07:00
arc drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
atheros atl1e: add GRO support 2017-02-03 11:13:17 -05:00
aurora
broadcom bnxt_en: Fix DMA unmapping of the RX buffers in XDP mode during shutdown. 2017-03-29 14:05:34 -07:00
brocade bna: avoid writing uninitialized data into hw registers 2017-03-24 12:49:12 -07:00
cadence lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
calxeda drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
cavium net: thunderx: Allow IPv6 frames with zero UDP checksum 2017-03-09 13:12:41 -08:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
cirrus ep93xx_eth: add GRO support 2017-02-05 16:11:57 -05:00
cisco enic: add vxlan offload on tx path 2017-02-09 17:24:29 -05:00
davicom
dec drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
dlink
emulex be2net: get rid of custom busy poll code 2017-02-03 16:06:55 -05:00
ezchip ezchip: nps_enet: check if napi has been completed 2017-03-29 14:28:16 -07:00
faraday drivers: net: ethernet: remove incorrect __exit markups 2017-03-02 14:33:49 -08:00
freescale dpaa_eth: implement ioctl() for PHY-related ops 2017-02-20 22:21:23 -05:00
fujitsu
hisilicon net: hns: avoid gcc-7.0.1 warning for uninitialized data 2017-03-25 20:05:32 -07:00
hp
i825xx
ibm ibmvnic: Free tx/rx scrq pointer array when releasing sub-crqs 2017-03-16 21:25:43 -07:00
intel i40e: Do not enable NAPI on q_vectors that have no rings 2017-03-24 19:28:55 -07:00
marvell net: mvpp2: enable building on 64-bit platforms 2017-02-21 13:16:17 -05:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-28 10:33:06 -05:00
mellanox net/mlx5: Avoid dereferencing uninitialized pointer 2017-03-28 18:07:15 -07:00
micrel scripts/spelling.txt: add "overrided" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
microchip net: microchip: encx24j600: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
moxa net: moxa: fix TX overrun memory leak 2017-03-28 18:02:05 -07:00
myricom net: myricom: myri10ge: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
natsemi net: natsemi: ns83820: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
neterion net: s2io: fix typo argumnet argument 2017-02-26 11:57:58 -05:00
netronome nfp: correct DMA direction in XDP DMA sync 2017-03-03 09:46:53 -08:00
nuvoton net: nuvoton: w90p910: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
nvidia forcedeth: Remove return from a void function 2017-02-23 10:55:07 -05:00
nxp drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
oki-semi net: oki-semi: pch_gbe: use new api ethtool_{get|set}_link_ksettings 2017-02-17 12:00:14 -05:00
packetengines net: hamachi: use new api ethtool_{get|set}_link_ksettings 2017-02-17 14:06:41 -05:00
pasemi drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-14 21:31:23 -07:00
qualcomm net: qualcomm: qca: use new api ethtool_{get|set}_link_ksettings 2017-02-20 22:19:08 -05:00
rdc
realtek 8139cp: use napi_complete_done() 2017-02-05 16:11:57 -05:00
renesas sh_eth: fix wakeup event reporting from MagicPacket 2017-02-01 12:53:59 -05:00
rocker rocker: fix Wmaybe-uninitialized false-positive 2017-03-28 21:42:32 -07:00
samsung drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
seeq drivers: net: ethernet: remove incorrect __exit markups 2017-03-02 14:33:49 -08:00
sfc sfc: cleanup a condition in efx_udp_tunnel_del() 2017-03-22 19:25:02 -07:00
sgi drivers: net: ethernet: remove incorrect __exit markups 2017-03-02 14:33:49 -08:00
silan
sis scripts/spelling.txt: add "comsume(r)" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
smsc net: Revert ksettings conversions. 2017-03-08 22:17:10 -08:00
stmicro net: stmmac: unify registers dumps methods 2017-02-24 11:42:33 -05:00
sun net: Revert ksettings conversions. 2017-03-08 22:17:10 -08:00
tehuti drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
ti cpsw/netcp: cpts depends on posix_timers 2017-03-22 10:56:42 -07:00
tile drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
toshiba net: Revert ksettings conversions. 2017-03-08 22:17:10 -08:00
tundra drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
via drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wiznet drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-16 19:34:01 -05:00
xircom
xscale
dnet.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
dnet.h
ec_bhf.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
ethoc.c net: ethoc: Use eth_hw_addr_random() 2017-02-17 12:42:24 -05:00
fealnx.c
jme.c net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
jme.h net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
Kconfig net: ethernet: aquantia: Integrate AQtion 2.5/5 GB NIC driver 2017-01-24 15:03:41 -05:00
korina.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
lantiq_etop.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
Makefile net: ethernet: aquantia: Integrate AQtion 2.5/5 GB NIC driver 2017-01-24 15:03:41 -05:00
netx-eth.c