android_kernel_motorola_sm6225/drivers/net/ethernet
Nithin Sujir df465abfe0 tg3: Wait for boot code to finish after power on
Some systems that don't need wake-on-lan may choose to power down the
chip on system standby. Upon resume, the power on causes the boot code
to startup and initialize the hardware. On one new platform, this is
causing the device to go into a bad state due to a race between the
driver and boot code, once every several hundred resumes. The same race
exists on open since we come up from a power on.

This patch adds a wait for boot code signature at the beginning of
tg3_init_hw() which is common to both cases. If there has not been a
power-off or the boot code has already completed, the signature will be
present and poll_fw() returns immediately. Also return immediately if
the device does not have firmware.

Cc: stable@vger.kernel.org
Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-13 02:41:51 -07:00
..
3com 3c59x: fix PCI resource management 2013-05-11 17:40:14 -07:00
8390 Char / Misc driver update for 3.10-rc1 2013-04-29 11:18:34 -07:00
adaptec net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
adi bfin_mac: fix error return code in bfin_mac_probe() 2013-05-08 13:13:30 -07:00
aeroflex drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0) 2013-03-17 12:50:24 -04:00
alteon net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
apple net: Revert unused variable changes. 2013-05-23 12:15:32 -07:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
broadcom tg3: Wait for boot code to finish after power on 2013-06-13 02:41:51 -07:00
brocade bna: add missing iounmap() on error in bnad_init() 2013-05-13 12:54:38 -07:00
cadence net/macb: fix ISR clear-on-write behavior only for some SoC 2013-05-14 13:04:02 -07:00
calxeda net/ethernet: NET_CALXEDA_XGMAC should depend on HAS_DMA 2013-05-11 16:28:23 -07:00
chelsio cxgb4: fix error recovery when t4_fw_hello returns a positive value 2013-05-03 16:10:34 -04:00
cirrus cirrus: cs89x0: remove two obsolete Kconfig macros 2013-03-29 15:40:24 -04:00
cisco net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
davicom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-01 13:36:50 -04:00
dec Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-03-20 12:46:26 -04:00
dlink drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
emulex be2net: Fix 32-bit DMA Mask handling 2013-06-13 01:28:36 -07:00
faraday net: ftgmac100: Use module_platform_driver() 2013-03-18 13:02:37 -04:00
freescale net: fec: add fallback to random MAC address 2013-06-04 17:00:32 -07:00
fujitsu Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
hp drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
i825xx drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
ibm emac: Fix EMAC soft reset on 460EX/GT 2013-05-11 17:40:14 -07:00
icplus ipg: fix an unsigned widening cast of '~' truncation issue 2013-05-15 14:42:14 -07:00
intel e1000e: fix scheduling while atomic bug 2013-05-07 07:51:37 -07:00
marvell NET: mv643xx_eth: avoid lockdep dump on interface down 2013-05-16 14:56:21 -07:00
mellanox net/mlx4_core: Keep VF assigned MAC in the PF admin table 2013-06-04 12:58:24 -07:00
micrel ks8851: Remove unneeded PM_OPS definitions 2013-04-16 16:30:51 -04:00
microchip net: ethernet: enc28j60: use spi_get_drvdata() and spi_set_drvdata() 2013-04-07 16:48:19 -04:00
myricom net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
natsemi net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
neterion net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
nuvoton drivers:net: Remove dma_alloc_coherent OOM messages 2013-03-15 08:56:58 -04:00
nvidia net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
nxp net/nxp/lpc_eth: Drop ifdef CONFIG_OF_NET 2013-04-02 16:43:56 -04:00
octeon ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
oki-semi pch_gbe: minor: report the actual error on MTU change 2013-04-16 16:43:35 -04:00
packetengines Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
pasemi drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0) 2013-03-17 12:50:24 -04:00
qlogic qlge: add missing free_netdev() on error in qlge_probe() 2013-05-25 21:22:32 -07:00
rdc drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
realtek 8139cp: reset BQL when ring tx ring cleared 2013-05-20 14:02:35 -07:00
renesas sh_eth: fix result of sh_eth_check_reset() on timeout 2013-06-11 02:28:48 -07:00
seeq drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
sfc sfc: Reduce RX scatter buffer size, and reduce alignment if appropriate 2013-05-14 11:32:04 -07:00
sgi drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0) 2013-03-17 12:50:24 -04:00
silan Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sis sis900: check for DMA map errors 2013-04-15 14:11:37 -04:00
smsc ARM: arm-soc non-critical fixes for 3.10 2013-05-02 08:56:55 -07:00
stmicro net: ethernet: stmicro: stmmac: Fix compile error when STMMAC_XMIT_DEBUG used 2013-06-13 01:30:16 -07:00
sun net: Revert unused variable changes. 2013-05-23 12:15:32 -07:00
tehuti net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
ti net/ti davinci_mdio: don't hold a spin lock while calling pm_runtime 2013-06-11 02:26:01 -07:00
tile tile: support new Tilera hypervisor 2013-05-02 16:20:31 -04:00
toshiba net/spider_net: fix error return code in spider_net_open() 2013-05-08 13:13:29 -07:00
tundra drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0) 2013-03-17 12:50:24 -04:00
via net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
wiznet net: ethernet: wiznet: add CONFIG_PM_SLEEP to suspend/resume functions 2013-03-26 12:47:17 -04:00
xilinx net: ethernet: xilinx_emaclite: set protocol selector bits when writing ANAR 2013-06-04 17:21:28 -07:00
xircom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2013-05-01 14:08:52 -07:00
xscale net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.h
ethoc.c ethoc: Cleanup driver format 2013-01-29 14:07:05 -05:00
fealnx.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
jme.c net: vlan: add protocol argument to packet tagging functions 2013-04-19 14:46:06 -04:00
jme.h
Kconfig drivers/net: delete old 8 bit ISA Racal ni5010 support. 2013-01-22 10:39:52 -05:00
korina.c net: Revert unused variable changes. 2013-05-23 12:15:32 -07:00
lantiq_etop.c lantiq_etop: use free_netdev(netdev) instead of kfree() 2013-03-21 11:50:10 -04:00
Makefile drivers/net: delete old 8 bit ISA Racal ni5010 support. 2013-01-22 10:39:52 -05:00
netx-eth.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
s6gmac.c s6gmac: fix error return code in s6gmac_probe() 2013-03-22 10:23:42 -04:00