]> git.baikalelectronics.ru Git - kernel.git/commit
tg3: Clear RECOVERY_PENDING with reset_task_cancel
authorMatt Carlson <mcarlson@broadcom.com>
Wed, 22 Feb 2012 12:35:20 +0000 (12:35 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Feb 2012 06:57:17 +0000 (01:57 -0500)
commit26f865ab9f91a56c3b5a0dbc5ecc6f863ddb7ce9
tree8dba220928e7b0cc4b917f608f87814ed0bacc88
parent98ff5ae695a1d4ca0bff220c20b5b65a5a5c7d8a
tg3: Clear RECOVERY_PENDING with reset_task_cancel

If an error happens in the tx completion thread, tg3_reset_task will be
scheduled and TX_RECOVERY_PENDING will be set.  The TX_RECOVERY_PENDING
flag causes tg3_poll[_msix] to return early before doing much of its
work.  Tg3_reset_task() gets canceled when the configuration of the
device is changing, which always results in a chip reset.  When this
happens, the TX_RECOVERY_PENDING flag may be left set, which would
unnecessarily hinder tg3_poll from doing work.  This patch fixes the
problem.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/tg3.c