From: Michael Chan Date: Fri, 3 Feb 2006 01:29:28 +0000 (-0800) Subject: [TG3]: Flush tg3_reset_task() X-Git-Tag: v2.6.16-rc3~210^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7faa006f94fda56a587242b2a22fa19abf840222;p=pandora-kernel.git [TG3]: Flush tg3_reset_task() Make sure tg3_reset_task() is flushed in the close and suspend paths as noted by Jeff Garzik. In the close path, calling flush_scheduled_work() may cause deadlock if linkwatch_event() is on the workqueue. linkwatch_event() will try to get the rtnl_lock() which is already held by tg3_close(). So instead, we set a flag in tg3_reset_task() and tg3_close() polls the flag until it is cleared. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- Reading git-diff-tree failed