From patchwork Tue Jan 14 21:46:36 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Weinberger X-Patchwork-Id: 310882 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 B9C892C0082 for ; Wed, 15 Jan 2014 08:54:05 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751746AbaANVyC (ORCPT ); Tue, 14 Jan 2014 16:54:02 -0500 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 S1751556AbaANVyA (ORCPT ); Tue, 14 Jan 2014 16:54:00 -0500 X-Greylist: delayed 433 seconds by postgrey-1.27 at vger.kernel.org; Tue, 14 Jan 2014 16:54:00 EST Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.sigma-star.at (Postfix) with ESMTP id BD4FD16B42A2; Tue, 14 Jan 2014 22:46:46 +0100 (CET) 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 xu2t2N0EceWS; Tue, 14 Jan 2014 22:46:46 +0100 (CET) Received: from linux.site (richard.vpn.sigmapriv.at [10.3.0.5]) by mail.sigma-star.at (Postfix) with ESMTPSA id 9E50D16B42A1; Tue, 14 Jan 2014 22:46:45 +0100 (CET) From: Richard Weinberger To: davem@davemloft.net, rl@hellgate.ch Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, bhutchings@solarflare.com, Richard Weinberger Subject: [PATCH] net,via-rhine: Fix tx_timeout handling Date: Tue, 14 Jan 2014 22:46:36 +0100 Message-Id: <1389735996-4692-1-git-send-email-richard@nod.at> X-Mailer: git-send-email 1.8.4.2 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org rhine_reset_task() misses to disable the tx scheduler upon reset, 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/0x6 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 cce6c4b..ef312bc 100644 --- a/drivers/net/ethernet/via/via-rhine.c +++ b/drivers/net/ethernet/via/via-rhine.c @@ -1618,6 +1618,7 @@ static void rhine_reset_task(struct work_struct *work) goto out_unlock; napi_disable(&rp->napi); + netif_tx_disable(dev); spin_lock_bh(&rp->lock); /* clear all descriptors */