From patchwork Tue Dec 16 06:18:52 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Baruch Siach X-Patchwork-Id: 14176 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 9077EDDF61 for ; Tue, 16 Dec 2008 17:19:11 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751346AbYLPGTD (ORCPT ); Tue, 16 Dec 2008 01:19:03 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751340AbYLPGTD (ORCPT ); Tue, 16 Dec 2008 01:19:03 -0500 Received: from tango.tkos.co.il ([62.219.50.35]:34566 "EHLO tango.tkos.co.il" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751332AbYLPGTB (ORCPT ); Tue, 16 Dec 2008 01:19:01 -0500 Received: from taragon.tkos.co.il (guitar.tcltek.co.il [192.115.133.116]) by tango.tkos.co.il (8.12.11.20060308/8.12.11) with ESMTP id mBG6It3i020997; Tue, 16 Dec 2008 08:18:55 +0200 Received: from diamond.tkos.co.il (localhost [127.0.0.1]) (authenticated bits=0) by taragon.tkos.co.il (8.13.8/8.13.8/Debian-3) with ESMTP id mBG6Ik9L022138; Tue, 16 Dec 2008 08:18:49 +0200 Date: Tue, 16 Dec 2008 08:18:52 +0200 From: Baruch Siach To: Claudio Lanconelli Cc: netdev@vger.kernel.org Subject: [PATCH] enc28j60: use netif_rx_ni() to deliver RX packets Message-ID: <20081216061851.GA4773@diamond.tkos.co.il> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) X-Virus-Scanned: ClamAV version 0.93.1, clamav-milter version 0.93.1 on tango.tkos.co.il X-Virus-Status: Clean X-Spam-Level: -2.312 () BAYES_00 X-Scanned-By: MIMEDefang 2.62 on 62.219.50.35 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The enc28j60 driver reads incoming packets in the process (workqueue) context, not in a tasklet or the interrupt context. Thus, we should use netif_rx_ni() to deliver those packets to the networking layer, instead of netif_rx(). This way incoming packets don't wait in the incoming queue for the next IRQ to be serviced. Signed-off-by: Baruch Siach --- drivers/net/enc28j60.c-git 2008-12-16 08:06:53.000000000 +0200 +++ drivers/net/enc28j60.c 2008-12-16 08:08:32.000000000 +0200 @@ -959,7 +959,7 @@ static void enc28j60_hw_rx(struct net_de ndev->stats.rx_packets++; ndev->stats.rx_bytes += len; ndev->last_rx = jiffies; - netif_rx(skb); + netif_rx_ni(skb); } } /*