Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

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>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

authored by

Rafał Miłecki and committed by
Kalle Valo
c411ead9 f6738218

+4 -3
+4 -3
drivers/ssb/driver_pcicore.c
··· 359 359 360 360 /* 361 361 * Accessing PCI config without a proper delay after devices reset (not 362 - * GPIO reset) was causing reboots on WRT300N v1.0. 362 + * GPIO reset) was causing reboots on WRT300N v1.0 (BCM4704). 363 363 * Tested delay 850 us lowered reboot chance to 50-80%, 1000 us fixed it 364 364 * completely. Flushing all writes was also tested but with no luck. 365 + * The same problem was reported for WRT350N v1 (BCM4705), so we just 366 + * sleep here unconditionally. 365 367 */ 366 - if (pc->dev->bus->chip_id == 0x4704) 367 - usleep_range(1000, 2000); 368 + usleep_range(1000, 2000); 368 369 369 370 /* Enable PCI bridge BAR0 prefetch and burst */ 370 371 val = PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY;