|
@@ -102,6 +102,9 @@ int b43_modparam_verbose = B43_VERBOSITY_DEFAULT;
|
|
|
module_param_named(verbose, b43_modparam_verbose, int, 0644);
|
|
|
MODULE_PARM_DESC(verbose, "Log message verbosity: 0=error, 1=warn, 2=info(default), 3=debug");
|
|
|
|
|
|
+static int modparam_pio;
|
|
|
+module_param_named(pio, modparam_pio, int, 0444);
|
|
|
+MODULE_PARM_DESC(pio, "enable(1) / disable(0) PIO mode");
|
|
|
|
|
|
static const struct ssb_device_id b43_ssb_tbl[] = {
|
|
|
SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_80211, 5),
|
|
@@ -1786,8 +1789,8 @@ static void b43_do_interrupt_thread(struct b43_wldev *dev)
|
|
|
dma_reason[4], dma_reason[5]);
|
|
|
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");
|
|
|
+ b43err(dev->wl, "Unload the b43 module and reload "
|
|
|
+ "with 'pio=1'\n");
|
|
|
return;
|
|
|
}
|
|
|
if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) {
|
|
@@ -4353,7 +4356,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev)
|
|
|
|
|
|
if ((dev->dev->bus->bustype == SSB_BUSTYPE_PCMCIA) ||
|
|
|
(dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) ||
|
|
|
- B43_FORCE_PIO) {
|
|
|
+ modparam_pio) {
|
|
|
dev->__using_pio_transfers = 1;
|
|
|
err = b43_pio_init(dev);
|
|
|
} else {
|