b43: Remove reset after fatal DMA error
authorLarry Finger <Larry.Finger@lwfinger.net>
Wed, 9 Dec 2009 19:25:56 +0000 (13:25 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 26 Apr 2010 14:41:32 +0000 (07:41 -0700)
commit 214ac9a4ead6cb254451c09d9c8234a76693feb1 upstream.

As shown in Kernel Bugzilla #14761, doing a controller restart after a
fatal DMA error does not accomplish anything other than consume the CPU
on an affected system. Accordingly, substitute a meaningful message for
the restart.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Cc: maximilian attems <max@stro.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/b43/main.c

index a8a00d28a1a81f4f99f9635cb7a78300e7ac44e3..1642c9c9a348b1cf4a27bfd302fe921865e26825 100644 (file)
@@ -1788,7 +1788,10 @@ static void b43_do_interrupt_thread(struct b43_wldev *dev)
                               dma_reason[0], dma_reason[1],
                               dma_reason[2], dma_reason[3],
                               dma_reason[4], dma_reason[5]);
-                       b43_controller_restart(dev, "DMA error");
+                       b43err(dev->wl, "This device does not support DMA "
+                              "on your system. Please use PIO instead.\n");
+                       b43err(dev->wl, "CONFIG_B43_FORCE_PIO must be set in "
+                              "your kernel configuration.\n");
                        return;
                }
                if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) {