From: Stefano Brivio <stefano.brivio@polimi.it>
To: linux-wireless@vger.kernel.org
Cc: "John W. Linville" <linville@tuxdriver.com>,
Michael Buesch <mb@bu3sch.de>
Subject: Re: [PATCH] [RFT] b43legacy: fix bcm4303 crash
Date: Sat, 15 Mar 2008 19:08:36 +0100 [thread overview]
Message-ID: <20080315190836.5020b884@morte> (raw)
In-Reply-To: <20080315190121.70edbfcd@morte>
On Sat, 15 Mar 2008 19:01:21 +0100
Stefano Brivio <stefano.brivio@polimi.it> wrote:
> This should fix an hard crash which happened upon driver loading on bcm4303
> rev. 2 devices. The bug was originally reported here:
> https://bugzilla.redhat.com/show_bug.cgi?id=384981.
> Please test.
Ehr, sure. :/ Here it comes:
Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
---
Index: wireless-testing/drivers/net/wireless/b43legacy/main.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/b43legacy/main.c
+++ wireless-testing/drivers/net/wireless/b43legacy/main.c
@@ -3047,7 +3047,6 @@ static void b43legacy_wireless_core_exit
}
ssb_device_disable(dev->dev, 0);
- ssb_bus_may_powerdown(dev->dev->bus);
}
static void prepare_phy_data_for_init(struct b43legacy_wldev *dev)
@@ -3214,7 +3213,6 @@ err_kfree_tssitbl:
err_kfree_lo_control:
kfree(phy->lo_control);
phy->lo_control = NULL;
- ssb_bus_may_powerdown(bus);
B43legacy_WARN_ON(b43legacy_status(dev) != B43legacy_STAT_UNINIT);
return err;
}
@@ -3534,7 +3532,7 @@ static int b43legacy_wireless_core_attac
err = b43legacy_phy_versioning(dev);
if (err)
- goto err_powerdown;
+ goto out;
/* Check if this device supports multiband. */
if (!pdev ||
(pdev->device != 0x4312 &&
@@ -3560,10 +3558,10 @@ static int b43legacy_wireless_core_attac
err = b43legacy_validate_chipaccess(dev);
if (err)
- goto err_powerdown;
+ goto out;
err = b43legacy_setup_modes(dev, have_bphy, have_gphy);
if (err)
- goto err_powerdown;
+ goto out;
/* Now set some default "current_dev" */
if (!wl->current_dev)
@@ -3573,14 +3571,9 @@ static int b43legacy_wireless_core_attac
b43legacy_radio_turn_off(dev, 1);
b43legacy_switch_analog(dev, 0);
ssb_device_disable(dev->dev, 0);
- ssb_bus_may_powerdown(bus);
out:
return err;
-
-err_powerdown:
- ssb_bus_may_powerdown(bus);
- return err;
}
static void b43legacy_one_core_detach(struct ssb_device *dev)
Index: wireless-testing/drivers/ssb/main.c
===================================================================
--- wireless-testing.orig/drivers/ssb/main.c
+++ wireless-testing/drivers/ssb/main.c
@@ -1082,6 +1082,10 @@ int ssb_bus_may_powerdown(struct ssb_bus
goto out;
cc = &bus->chipco;
+
+ if (cc->dev->id.revision < 5)
+ goto out;
+
ssb_chipco_set_clockmode(cc, SSB_CLKMODE_SLOW);
err = ssb_pci_xtal(bus, SSB_GPIO_XTAL | SSB_GPIO_PLL, 0);
if (err)
--
Ciao
Stefano
next prev parent reply other threads:[~2008-03-15 18:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-15 18:01 [PATCH] [RFT] b43legacy: fix bcm4303 crash Stefano Brivio
2008-03-15 18:07 ` Michael Buesch
2008-03-15 18:08 ` Stefano Brivio [this message]
2008-03-15 18:14 ` Michael Buesch
2008-03-16 19:22 ` [PATCH v2] " Stefano Brivio
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080315190836.5020b884@morte \
--to=stefano.brivio@polimi.it \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mb@bu3sch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.