diff mbox

[FIX] ssb: extend fix for PCI related silent reboots to all chipsets

Message ID 1431495398-15238-1-git-send-email-zajec5@gmail.com (mailing list archive)
State Accepted
Delegated to: Kalle Valo
Headers show

Commit Message

Rafał Miłecki May 13, 2015, 5:36 a.m. UTC
Recent fix for BCM4704 reboots has to be extended as the same problem
affects Linksys WRT350N v1 (BCM4705).

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
Reported-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
---
Kalle: it's quite trivial, you may consider taking it for 4.1.
---
 drivers/ssb/driver_pcicore.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Kalle Valo May 20, 2015, 1:38 p.m. UTC | #1
Rafa? Mi?ecki <zajec5@gmail.com> writes:

> Recent fix for BCM4704 reboots has to be extended as the same problem
> affects Linksys WRT350N v1 (BCM4705).
>
> Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
> Reported-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
> ---
> Kalle: it's quite trivial, you may consider taking it for 4.1.

Thanks, manually applied to wireless-drivers.git.
diff mbox

Patch

diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
index 15a7ee3..5fe1c22 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
@@ -359,12 +359,13 @@  static void ssb_pcicore_init_hostmode(struct ssb_pcicore *pc)
 
 	/*
 	 * Accessing PCI config without a proper delay after devices reset (not
-	 * GPIO reset) was causing reboots on WRT300N v1.0.
+	 * GPIO reset) was causing reboots on WRT300N v1.0 (BCM4704).
 	 * Tested delay 850 us lowered reboot chance to 50-80%, 1000 us fixed it
 	 * completely. Flushing all writes was also tested but with no luck.
+	 * The same problem was reported for WRT350N v1 (BCM4705), so we just
+	 * sleep here unconditionally.
 	 */
-	if (pc->dev->bus->chip_id == 0x4704)
-		usleep_range(1000, 2000);
+	usleep_range(1000, 2000);
 
 	/* Enable PCI bridge BAR0 prefetch and burst */
 	val = PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY;