]> git.baikalelectronics.ru Git - kernel.git/commit
tg3: Wait for boot code to finish after power on
authorNithin Sujir <nsujir@broadcom.com>
Wed, 12 Jun 2013 18:08:59 +0000 (11:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Jun 2013 09:41:51 +0000 (02:41 -0700)
commit857dd641e2344931b4d8d17a1f3cdad2168e6f10
treea6ed8d59f635bf3337c9f4295a15fd59188294f4
parent0841391177ea8ee8ff10cdd61911d31d4be3f00d
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>
drivers/net/ethernet/broadcom/tg3.c