Fix system freeze due to incorrect rt2800 initialization (rhbz 1000679)
This commit is contained in:
parent
800e164db1
commit
e13ea7f2e9
|
@ -770,6 +770,9 @@ Patch25057: iwl4965-better-skb-management-in-rx-path.patch
|
|||
#rhbz 963715
|
||||
Patch25077: media-cx23885-Fix-TeVii-S471-regression-since-introduction-of-ts2020.patch
|
||||
|
||||
#rhbz 1000679
|
||||
Patch25078: rt2800-rearrange-bbp-rfcsr-initialization.patch
|
||||
|
||||
Patch25090: mei-me-fix-hardware-reset-flow.patch
|
||||
|
||||
#CVE-2013-2888 rhbz 1000451 1002543 CVE-2013-2889 rhbz 999890 1002548
|
||||
|
@ -1516,6 +1519,9 @@ ApplyPatch mei-me-fix-hardware-reset-flow.patch
|
|||
#CVE-2013-2897 rhbz 1000536 1002600 CVE-2013-2899 rhbz 1000373 1002604
|
||||
ApplyPatch HID-CVE-fixes.patch
|
||||
|
||||
#rhbz 1000679
|
||||
ApplyPatch rt2800-rearrange-bbp-rfcsr-initialization.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
%endif
|
||||
|
@ -2315,6 +2321,9 @@ fi
|
|||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Mon Sep 09 2013 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Fix system freeze due to incorrect rt2800 initialization (rhbz 1000679)
|
||||
|
||||
* Sun Sep 8 2013 Peter Robinson <pbrobinson@fedoraproject.org>
|
||||
- Minor OMAP config changes
|
||||
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
My commit
|
||||
|
||||
commit c630ccf1a127578421a928489d51e99c05037054
|
||||
Author: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
Date: Sat Mar 16 19:19:46 2013 +0100
|
||||
|
||||
rt2800: rearrange bbp/rfcsr initialization
|
||||
|
||||
make Maxim machine freeze when try to start wireless device.
|
||||
|
||||
Initialization order and sending MCU_BOOT_SIGNAL request, changed in
|
||||
above commit, is important. Doing things incorrectly make PCIe bus
|
||||
problems, which can froze the machine.
|
||||
|
||||
This patch change initialization sequence like vendor driver do:
|
||||
function NICInitializeAsic() from
|
||||
2011_1007_RT5390_RT5392_Linux_STA_V2.5.0.3_DPO (PCI devices) and
|
||||
DPO_RT5572_LinuxSTA_2.6.1.3_20121022 (according Mediatek, latest driver
|
||||
for RT8070/RT3070/RT3370/RT3572/RT5370/RT5372/RT5572 USB devices).
|
||||
It fixes freezes on Maxim system.
|
||||
|
||||
Resolve:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1000679
|
||||
|
||||
Reported-and-tested-by: Maxim Polyakov <polyakov@dexmalabs.com>
|
||||
Bisected-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Cc: stable@vger.kernel.org # 3.10+
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
drivers/net/wireless/rt2x00/rt2800lib.c | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
|
||||
index d217c9e..8f6820a 100644
|
||||
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
|
||||
@@ -6631,19 +6631,20 @@ int rt2800_enable_radio(struct rt2x00_dev *rt2x00dev)
|
||||
rt2800_init_registers(rt2x00dev)))
|
||||
return -EIO;
|
||||
|
||||
+ if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev)))
|
||||
+ return -EIO;
|
||||
+
|
||||
/*
|
||||
* Send signal to firmware during boot time.
|
||||
*/
|
||||
rt2800_register_write(rt2x00dev, H2M_BBP_AGENT, 0);
|
||||
rt2800_register_write(rt2x00dev, H2M_MAILBOX_CSR, 0);
|
||||
- if (rt2x00_is_usb(rt2x00dev)) {
|
||||
+ if (rt2x00_is_usb(rt2x00dev))
|
||||
rt2800_register_write(rt2x00dev, H2M_INT_SRC, 0);
|
||||
- rt2800_mcu_request(rt2x00dev, MCU_BOOT_SIGNAL, 0, 0, 0);
|
||||
- }
|
||||
+ rt2800_mcu_request(rt2x00dev, MCU_BOOT_SIGNAL, 0, 0, 0);
|
||||
msleep(1);
|
||||
|
||||
- if (unlikely(rt2800_wait_bbp_rf_ready(rt2x00dev) ||
|
||||
- rt2800_wait_bbp_ready(rt2x00dev)))
|
||||
+ if (unlikely(rt2800_wait_bbp_ready(rt2x00dev)))
|
||||
return -EIO;
|
||||
|
||||
rt2800_init_bbp(rt2x00dev);
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
Loading…
Reference in New Issue