From patchwork Sat Feb 27 21:43:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Buesch X-Patchwork-Id: 82749 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o1RLiQkK028705 for ; Sat, 27 Feb 2010 21:44:27 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936235Ab0B0VoZ (ORCPT ); Sat, 27 Feb 2010 16:44:25 -0500 Received: from bu3sch.de ([62.75.166.246]:52864 "EHLO vs166246.vserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936082Ab0B0VoZ (ORCPT ); Sat, 27 Feb 2010 16:44:25 -0500 Received: by vs166246.vserver.de with esmtpa (Exim 4.69) id 1NlUSL-0008H5-S5; Sat, 27 Feb 2010 21:44:14 +0000 From: Michael Buesch To: Linus Torvalds Subject: Re: Make b43 driver fall back gracefully to PIO mode after fatal DMA errors Date: Sat, 27 Feb 2010 22:43:26 +0100 User-Agent: KMail/1.9.9 Cc: Larry Finger , "John W. Linville" , "David S. Miller" , wireless , Greg Kroah-Hartman References: <201002271836.04673.mb@bu3sch.de> In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Message-Id: <201002272243.27845.mb@bu3sch.de> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Sat, 27 Feb 2010 21:44:27 +0000 (UTC) Index: wireless-testing/drivers/net/wireless/b43/b43.h =================================================================== --- wireless-testing.orig/drivers/net/wireless/b43/b43.h 2010-02-27 17:16:35.000000000 +0100 +++ wireless-testing/drivers/net/wireless/b43/b43.h 2010-02-27 22:40:40.000000000 +0100 @@ -39,6 +39,10 @@ #define B43_MMIO_DMA4_IRQ_MASK 0x44 #define B43_MMIO_DMA5_REASON 0x48 #define B43_MMIO_DMA5_IRQ_MASK 0x4C +#define B43_MMIO_DMA6_REASON 0x50 +#define B43_MMIO_DMA6_IRQ_MASK 0x54 +#define B43_MMIO_DMA7_REASON 0x58 +#define B43_MMIO_DMA7_IRQ_MASK 0x5C #define B43_MMIO_MACCTL 0x120 /* MAC control */ #define B43_MMIO_MACCMD 0x124 /* MAC command */ #define B43_MMIO_GEN_IRQ_REASON 0x128 Index: wireless-testing/drivers/net/wireless/b43/main.c =================================================================== --- wireless-testing.orig/drivers/net/wireless/b43/main.c 2010-02-27 17:16:35.000000000 +0100 +++ wireless-testing/drivers/net/wireless/b43/main.c 2010-02-27 22:42:27.000000000 +0100 @@ -2880,6 +2880,10 @@ static int b43_chip_init(struct b43_wlde b43_write32(dev, B43_MMIO_DMA3_IRQ_MASK, 0x0001DC00); b43_write32(dev, B43_MMIO_DMA4_IRQ_MASK, 0x0000DC00); b43_write32(dev, B43_MMIO_DMA5_IRQ_MASK, 0x0000DC00); + b43_write32(dev, B43_MMIO_DMA6_IRQ_MASK, 0); + b43_write32(dev, B43_MMIO_DMA6_REASON, 0); + b43_write32(dev, B43_MMIO_DMA7_IRQ_MASK, 0); + b43_write32(dev, B43_MMIO_DMA7_REASON, 0); value32 = ssb_read32(dev->dev, SSB_TMSLOW); value32 |= 0x00100000;