[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140711.150136.1090869144440145481.davem@davemloft.net>
Date: Fri, 11 Jul 2014 15:01:36 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: sonic.adi@...il.com
Cc: netdev@...r.kernel.org, adi-buildroot-devel@...ts.sourceforge.net,
sonic.zhang@...log.com
Subject: Re: [PATCH v3] bfin_mac: convert bfin Ethernet driver to NAPI
framework
From: Sonic Zhang <sonic.adi@...il.com>
Date: Fri, 11 Jul 2014 18:27:14 +0800
> + if (i < budget) {
> + napi_complete(napi);
> + if (!(bfin_read_IPEND() & IRQ_EVX))
> + enable_irq(IRQ_MAC_RX);
> + }
This doesn't make any sense, why are you only re-enabling the
interrupt if the status bit is clear?
You should do this unconditionally.
If your logic triggers, polling is disabled and the interrupt handler
isn't going to run, so your driver will stop taking packets.
Please please, stop being so clever with the conditions here, simply
if you didn't use the whole budget turn off NAPI and reenable
interrupts.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists