Files
ubports_kernel_google_msm/drivers/net
Michael Chan 469665459d [TG3]: Fix irq_sync race condition.
Gagan Arneja <gaagaan@gmail.com> pointed out that tg3_reset_task()
could potentially race with another thread calling tg3_full_lock()
such as the ethtool_set_xxx() functions.  This may trigger the
BUG_ON() in tg3_irq_quiesce() or cause the irq_sync flag to be out-
of-sync.

I think the easiest way to fix this is to get the tp->lock first
before setting the irq_sync flag.  This is safe to do because the
tp->lock is never grabbed by the irq handler.  This change will
guarantee that the irq_sync flag updates will be serialized.  We also
have to change one spot to call tg3_netif_start() (which clears the
irq_sync flag) before releasing the tp->lock.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-07-11 19:47:19 -07:00
..
2007-05-24 16:36:51 -07:00
2007-07-10 22:08:12 -07:00
2007-05-09 07:18:01 +02:00
2007-07-10 22:08:12 -07:00
2007-07-10 12:41:09 -04:00
2007-07-10 12:41:09 -04:00
2007-06-01 08:18:27 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 12:22:30 -04:00
2007-02-09 09:14:07 -08:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-07-08 22:16:38 -04:00
2007-07-10 22:08:12 -07:00
2007-07-10 12:41:08 -04:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-02-09 09:14:07 -08:00
2007-06-01 08:18:27 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 12:41:08 -04:00
2007-07-08 22:16:40 -04:00
2007-07-08 22:16:40 -04:00
2006-09-13 13:24:59 -04:00
2007-05-03 13:21:48 -07:00
2007-05-03 13:21:13 -07:00
2007-07-10 22:18:45 -07:00
2007-05-31 01:23:22 -07:00
2006-09-13 13:24:59 -04:00
2007-02-09 16:23:17 +00:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-02-09 09:14:07 -08:00
2007-07-10 22:08:12 -07:00
2007-05-09 08:57:56 +02:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-02-09 09:14:07 -08:00
2006-09-13 13:24:59 -04:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-08 22:16:38 -04:00
2007-07-08 22:16:38 -04:00
2007-07-08 22:16:38 -04:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2006-12-09 09:41:18 -08:00
2006-12-02 00:11:56 -05:00
2007-05-04 17:59:08 -07:00
2007-07-10 22:08:12 -07:00
2007-05-04 17:59:06 -07:00
2007-05-04 17:59:07 -07:00
2007-02-07 18:50:53 -05:00
2007-07-10 12:41:18 -04:00
2007-05-04 17:59:08 -07:00
2007-07-10 22:15:59 -07:00
2007-05-24 17:20:49 -04:00
2007-05-09 08:57:56 +02:00
2007-04-28 11:01:05 -04:00
2007-07-10 22:08:12 -07:00
2006-12-04 02:00:34 -05:00
2006-12-02 21:22:37 -08:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-05-15 17:44:39 -04:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-04-25 22:24:41 -07:00
2007-06-23 23:04:11 -07:00
2007-04-28 11:01:01 -04:00
2007-07-10 12:24:42 -04:00
2007-07-08 22:16:38 -04:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2006-09-13 13:24:59 -04:00
2007-07-10 22:08:12 -07:00
2007-07-10 12:24:42 -04:00
2006-09-13 13:24:59 -04:00
2007-05-11 17:53:36 -04:00
2007-04-28 11:01:00 -04:00
2007-07-10 12:22:30 -04:00
2007-07-10 12:22:28 -04:00
2006-09-13 13:24:59 -04:00
2007-04-25 22:24:41 -07:00
2006-09-13 13:24:59 -04:00
2007-05-15 17:44:39 -04:00
2007-02-09 09:14:07 -08:00
2007-02-09 09:14:07 -08:00
2007-05-04 17:59:08 -07:00
2007-05-04 17:59:07 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-07-11 19:47:19 -07:00
2007-05-09 12:30:51 -07:00
2006-11-22 14:57:56 +00:00
2007-07-10 22:08:12 -07:00
2007-07-10 22:08:12 -07:00
2007-06-09 18:25:34 -04:00
2007-02-09 09:14:07 -08:00
2007-07-10 22:08:12 -07:00
2006-12-02 00:11:56 -05:00