From patchwork Fri Jul 19 21:30:28 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Weinberger X-Patchwork-Id: 260357 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.180.67]) by ozlabs.org (Postfix) with ESMTP id BC5962C0098 for ; Sat, 20 Jul 2013 07:31:12 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752336Ab3GSVa4 (ORCPT ); Fri, 19 Jul 2013 17:30:56 -0400 Received: from mail.sigma-star.at ([95.130.255.111]:62408 "EHLO mail.sigma-star.at" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751810Ab3GSVaz (ORCPT ); Fri, 19 Jul 2013 17:30:55 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.sigma-star.at (Postfix) with ESMTP id 83E8116B40B1; Fri, 19 Jul 2013 23:30:54 +0200 (CEST) X-Virus-Scanned: amavisd-new at mail.sigma-star.at Received: from mail.sigma-star.at ([127.0.0.1]) by localhost (mail.sigma-star.at [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0TQXLmKHB0r2; Fri, 19 Jul 2013 23:30:54 +0200 (CEST) Received: from linux.site (richard.vpn.sigmapriv.at [10.3.0.5]) by mail.sigma-star.at (Postfix) with ESMTPSA id AF2D316B40A7; Fri, 19 Jul 2013 23:30:53 +0200 (CEST) From: Richard Weinberger To: rl@hellgate.ch Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Richard Weinberger Subject: [PATCH] via-rhine: Fix tx_timeout handling Date: Fri, 19 Jul 2013 23:30:28 +0200 Message-Id: <1374269428-6827-1-git-send-email-richard@nod.at> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org rhine_reset_task() misses to call netif_stop_queue(), this can lead to a crash if work is still scheduled while we're resetting the tx queue. Fixes: [ 93.591707] BUG: unable to handle kernel NULL pointer dereference at 0000004c [ 93.595514] IP: [] rhine_napipoll+0x491/0x6e Signed-off-by: Richard Weinberger --- drivers/net/ethernet/via/via-rhine.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c index b75eb9e..57e1b40 100644 --- a/drivers/net/ethernet/via/via-rhine.c +++ b/drivers/net/ethernet/via/via-rhine.c @@ -1615,6 +1615,7 @@ static void rhine_reset_task(struct work_struct *work) goto out_unlock; napi_disable(&rp->napi); + netif_stop_queue(dev); spin_lock_bh(&rp->lock); /* clear all descriptors */