From bf851476bef22d3b52ca99b9de370560e16a50b9 Mon Sep 17 00:00:00 2001 From: blogic Date: Sun, 30 Mar 2014 14:01:21 +0000 Subject: [PATCH] lantiq: fix ptm crash under load https://dev.openwrt.org/ticket/14581 Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40335 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c index 745eb03321..1b9b710bfb 100644 --- a/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c +++ b/package/kernel/lantiq/ltq-ptm/src/ifxmips_ptm_vdsl.c @@ -256,8 +256,8 @@ static int ptm_napi_poll(struct napi_struct *napi, int budget) // clear interrupt IFX_REG_W32_MASK(0, 1, MBOX_IGU1_ISRC); // no more traffic - if ( WAN_RX_DESC_BASE[g_ptm_priv_data.itf[0].rx_desc_pos].own ) { // if PP32 hold descriptor - napi_complete(napi); + if (work_done < budget) { + napi_complete(napi); IFX_REG_W32_MASK(0, 1, MBOX_IGU1_IER); return work_done; } -- 2.30.2