From 28fdbae0f4d49d64514a7349b81cf6608b42036e Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Wed, 29 Feb 2012 14:00:13 +0100 Subject: [PATCH] --- yaml --- r: 290763 b: refs/heads/master c: 02f1434d4ed8197cefde6f6c4a8b2f502144cbb5 h: refs/heads/master i: 290761: 1ad3064c6c06b08de5d11c20c5b9b0c3981a5582 290759: 0125aa68a20a18ba0a697dbc0e910352fc34d983 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/zd1211rw/zd_mac.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f8a590da2ec3..ab975dfec2b9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 659373d5152705b83283860364bfd4e2b1422f7a +refs/heads/master: 02f1434d4ed8197cefde6f6c4a8b2f502144cbb5 diff --git a/trunk/drivers/net/wireless/zd1211rw/zd_mac.c b/trunk/drivers/net/wireless/zd1211rw/zd_mac.c index 98a574a4a465..9fcde36d5013 100644 --- a/trunk/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/trunk/drivers/net/wireless/zd1211rw/zd_mac.c @@ -306,9 +306,19 @@ int zd_op_start(struct ieee80211_hw *hw) r = set_mc_hash(mac); if (r) goto disable_int; + + /* Wait after setting the multicast hash table and powering on + * the radio otherwise interface bring up will fail. This matches + * what the vendor driver did. + */ + msleep(10); + r = zd_chip_switch_radio_on(chip); - if (r < 0) + if (r < 0) { + dev_err(zd_chip_dev(chip), + "%s: failed to set radio on\n", __func__); goto disable_int; + } r = zd_chip_enable_rxtx(chip); if (r < 0) goto disable_radio;