Chris Lalancette
553af56775
8139cp: Don't blindly enable interrupts
...
Similar to this commit:
http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d15e9c4d9a75702b30e00cdf95c71c88e3f3f51e
It's not safe in cp_start_xmit to blindly call spin_lock_irq and then
spin_unlock_irq, since it may very well be the case that cp_start_xmit
was called with interrupts already disabled (I came across this bug in
the context of netdump in RedHat kernels, but the same issue holds, for
example, in netconsole). Therefore, replace all instances of
spin_lock_irq and spin_unlock_irq with spin_lock_irqsave and
spin_unlock_irqrestore, respectively, in cp_start_xmit(). I tested this
against a fully-virtualized Xen guest using netdump, which happens to
use the 8139cp driver to talk to the emulated hardware. I don't have a
real piece of 8139cp hardware to test on, so someone else will have to
do that.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-01-18 11:47:22 -05:00
..
2006-12-13 09:05:58 -08:00
2006-11-10 11:08:53 -05:00
2006-12-26 16:41:08 -05:00
2006-12-04 18:36:02 -05:00
2007-01-09 02:24:37 -05:00
2006-11-10 11:08:53 -05:00
2007-01-07 22:57:38 -05:00
2006-12-05 17:01:28 +00:00
2006-10-05 15:10:12 +01:00
2006-12-02 00:33:11 -05:00
2006-12-11 14:35:01 -08:00
2006-12-26 16:41:08 -05:00
2006-12-13 09:05:58 -08:00
2007-01-06 09:51:41 -08:00
2006-10-05 15:10:12 +01:00
2006-12-26 16:28:20 -05:00
2006-12-29 10:03:54 -08:00
2007-01-11 18:24:39 -08:00
2006-12-13 09:05:52 -08:00
2006-12-04 18:36:03 -05:00
2006-10-06 14:56:04 -04:00
2006-12-07 04:57:19 -05:00
2006-12-05 17:01:28 +00:00
2006-12-13 09:05:58 -08:00
2007-01-18 04:29:23 -05:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-10-06 14:56:04 -04:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-12-09 09:41:18 -08:00
2006-09-13 13:24:59 -04:00
2007-01-18 11:47:22 -05:00
2006-12-12 08:10:44 -08:00
2006-12-02 00:11:56 -05:00
2006-12-02 00:11:56 -05:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-12-02 00:22:30 -05:00
2006-12-02 00:22:30 -05:00
2006-12-09 09:41:18 -08:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-10-06 14:56:04 -04:00
2006-12-02 00:33:11 -05:00
2006-09-13 13:24:59 -04:00
2006-12-26 16:24:11 -05:00
2006-06-22 23:16:13 -04:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-12-02 21:24:31 -08:00
2006-12-02 21:24:22 -08:00
2007-01-09 00:30:05 -08:00
2006-12-02 21:24:25 -08:00
2006-12-13 09:05:58 -08:00
2006-12-05 14:37:56 +00:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-12-07 02:14:07 +01:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-12-04 18:36:02 -05:00
2006-12-02 00:12:01 -05:00
2006-12-02 00:12:01 -05:00
2006-12-02 00:11:55 -05:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-03-03 21:33:57 -05:00
2006-09-13 13:24:59 -04:00
2006-10-06 14:56:04 -04:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-10-08 12:32:36 -07:00
2006-09-13 13:24:59 -04:00
2006-12-12 20:03:10 +01:00
2006-12-04 16:07:19 -05:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-12-04 16:07:19 -05:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-06-25 17:43:33 -07:00
2007-01-09 02:14:35 -05:00
2006-09-13 14:30:00 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-12-02 00:33:11 -05:00
2006-12-02 00:33:11 -05:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-12-04 16:07:19 -05:00
2006-12-09 09:41:18 -08:00
2006-12-02 00:11:56 -05:00
2006-10-05 15:10:12 +01:00
2006-05-24 01:31:14 -04:00
2006-12-04 20:38:06 +11:00
2006-12-04 20:38:06 +11:00
2007-01-03 18:38:08 -08:00
2006-12-02 21:22:59 -08:00
2006-10-05 15:10:12 +01:00
2006-12-20 16:37:48 +11:00
2006-09-13 13:24:59 -04:00
2006-12-11 09:51:07 -05:00
2006-12-04 16:07:19 -05:00
2006-12-07 08:39:41 -08:00
2006-12-02 00:11:56 -05:00
2006-12-04 16:07:19 -05:00
2007-01-03 18:38:10 -08:00
2006-12-13 09:05:58 -08:00
2006-10-05 15:10:12 +01:00
2006-12-02 00:11:56 -05:00
2006-12-11 09:31:28 -05:00
2006-12-11 09:31:28 -05:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-12-02 00:12:04 -05:00
2006-12-02 21:22:59 -08:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-12-07 04:57:19 -05:00
2006-06-30 18:25:18 +02:00
2006-12-04 16:07:19 -05:00
2006-10-17 19:28:51 -07:00
2006-12-02 21:22:59 -08:00
2006-06-23 23:16:09 -07:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-09-13 14:30:00 -04:00
2006-12-04 02:00:34 -05:00
2006-12-02 00:11:56 -05:00
2006-12-04 16:07:19 -05:00
2006-12-02 21:22:37 -08:00
2006-10-05 15:10:12 +01:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-12-07 04:57:19 -05:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-10-06 14:56:04 -04:00
2006-11-22 14:57:56 +00:00
2006-09-13 13:24:59 -04:00
2006-12-13 09:05:58 -08:00
2006-12-01 14:52:00 -08:00
2006-12-13 09:05:58 -08:00
2006-09-13 13:24:59 -04:00
2006-12-02 21:23:51 -08:00
2007-01-07 22:37:36 -05:00
2006-11-22 14:57:56 +00:00
2006-12-26 23:28:02 +01:00
2006-09-13 14:30:00 -04:00
2006-10-05 15:10:12 +01:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-11-22 14:57:56 +00:00
2006-11-22 14:57:56 +00:00
2006-10-06 14:56:04 -04:00
2006-09-13 13:24:59 -04:00
2006-10-06 14:56:04 -04:00
2006-10-21 14:20:01 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-11-22 14:57:56 +00:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-10-05 15:10:12 +01:00
2006-09-13 13:24:59 -04:00
2006-12-26 16:24:11 -05:00
2006-12-07 04:59:20 -05:00
2006-12-26 16:36:42 -05:00
2006-12-07 04:59:20 -05:00
2006-09-13 13:24:59 -04:00
2006-12-13 09:05:58 -08:00
2006-09-13 13:24:59 -04:00
2006-12-05 19:36:26 +00:00
2006-12-11 09:54:50 -05:00
2006-12-22 08:55:48 -08:00
2006-04-20 17:39:14 -04:00
2006-12-04 16:07:19 -05:00
2006-09-13 13:24:59 -04:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-12-04 16:07:19 -05:00
2006-10-06 14:56:04 -04:00
2006-10-05 15:10:12 +01:00
2007-01-03 18:38:10 -08:00
2006-10-11 04:04:27 -04:00
2006-12-05 17:01:28 +00:00
2006-11-30 06:14:06 -05:00
2006-12-04 02:00:34 -05:00
2006-09-27 15:41:24 +09:00
2006-10-11 11:17:06 -07:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-10-17 19:28:51 -07:00
2006-06-23 23:16:02 -07:00
2006-12-02 00:16:36 -05:00
2007-01-03 18:54:43 -08:00
2007-01-03 18:54:43 -08:00
2007-01-03 18:54:43 -08:00
2006-09-13 13:24:59 -04:00
2006-12-04 10:37:06 -08:00
2006-06-30 19:25:36 +02:00
2006-10-06 14:56:04 -04:00
2006-10-06 14:56:04 -04:00
2006-10-05 15:10:12 +01:00
2007-01-09 00:30:06 -08:00
2007-01-09 00:30:06 -08:00
2006-11-22 14:57:56 +00:00
2006-11-22 14:57:56 +00:00
2006-12-02 00:12:03 -05:00
2006-12-02 00:12:03 -05:00
2006-10-02 07:57:14 -07:00
2006-09-13 13:24:59 -04:00
2006-12-04 02:00:34 -05:00
2006-09-13 13:24:59 -04:00
2006-10-21 14:09:51 -04:00
2006-10-21 14:09:51 -04:00
2006-12-11 09:31:28 -05:00
2006-10-21 14:09:51 -04:00
2006-10-05 15:10:12 +01:00
2006-12-26 16:28:20 -05:00
2006-09-13 13:24:59 -04:00
2006-12-04 16:07:19 -05:00
2006-10-06 14:56:04 -04:00
2006-10-06 14:56:04 -04:00
2006-12-02 00:11:56 -05:00