From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH] net: apm: xgene: force XGene enet driver to re-balance IRQ usage Date: Mon, 17 Sep 2018 19:35:31 -0700 (PDT) Message-ID: <20180917.193531.1424852853827678152.davem@davemloft.net> References: <20180917233533.28626-1-ahs3@redhat.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, isubramanian@apm.com, kchudgar@apm.com, qnguyen@apm.com To: ahs3@redhat.com Return-path: In-Reply-To: <20180917233533.28626-1-ahs3@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Al Stone Date: Mon, 17 Sep 2018 17:35:33 -0600 > @@ -866,8 +866,11 @@ static int xgene_enet_napi(struct napi_struct *napi, const int budget) > processed = xgene_enet_process_ring(ring, budget); > > if (processed != budget) { > + struct irq_desc *desc = irq_to_desc(ring->irq); > + > napi_complete_done(napi, processed); > - enable_irq(ring->irq); > + if (desc && desc->depth > 0) > + enable_irq(ring->irq); I really can't accept a patch that grovels into IRQ layer internals to work around a driver's IRQ enable/disable usage problem. Sorry.