Jesse Brandeburg
e508be174a
e1000: fix Tx hangs by disabling 64-bit DMA
...
Several users report issues with 32-bit adapters when plugged
into PCI slots in machines with >= 4GB ram. In particular AMD
systems with HyperTransport to PCI bridges seem to trigger the
issue, but it isn't limited to only them.
This issue is not easily reproducible here, yet still continues
to occur in the field. For e1000 on PCI devices, just disable DMA
addresses over the 4GB boundary when in PCI (not PCI-X) mode, to
prevent the issue from continuing to pop up. The performance
impact for this is negligible.
The code was refactored to move the init of the hw struct to its
own function. This allows the init to be called very early in
probe, which then allows using hw-> members for this fix.
A slight refactor to the DMA mask code was done for minor
correctness based on the instructions in DMA-API-HOWTO.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-09-08 14:21:53 -07:00
..
2010-06-16 18:05:05 +02:00
2010-07-18 15:07:15 -07:00
2010-08-19 17:19:04 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-06 18:29:18 -07:00
2010-09-07 13:15:43 -07:00
2010-07-30 23:27:57 -07:00
2010-08-10 16:39:28 -07:00
2010-09-01 10:57:54 -07:00
2010-09-06 18:48:41 -07:00
2010-07-14 13:41:53 -07:00
2010-09-03 10:03:51 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-08 14:21:53 -07:00
2010-09-02 19:06:22 -07:00
2010-08-25 15:35:43 -07:00
2010-08-17 02:32:59 -07:00
2010-09-06 18:29:17 -07:00
2010-08-16 21:06:29 -07:00
2010-08-06 09:25:50 -06:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-08-25 16:36:49 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-05-10 05:01:31 -07:00
2010-09-06 18:48:44 -07:00
2010-08-17 17:45:14 -07:00
2010-08-19 00:44:03 -07:00
2010-07-18 19:15:25 -07:00
2010-08-25 15:35:43 -07:00
2010-08-13 10:38:12 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-05-17 22:47:34 -07:00
2010-09-02 19:06:22 -07:00
2010-08-22 00:54:30 -07:00
2010-09-03 09:44:51 -07:00
2010-09-08 13:10:53 -07:00
2010-09-02 19:06:22 -07:00
2010-09-02 19:06:22 -07:00
2010-09-06 13:32:20 -07:00
2010-08-04 15:31:02 -07:00
2010-09-02 13:30:07 -04:00
2010-08-25 15:35:43 -07:00
2010-05-14 00:19:28 -07:00
2009-09-01 01:13:50 -07:00
2010-08-25 15:35:43 -07:00
2010-05-10 05:01:31 -07:00
2010-05-28 01:57:18 -07:00
2010-05-14 00:19:28 -07:00
2010-08-25 15:35:43 -07:00
2010-05-10 05:01:31 -07:00
2010-06-16 18:05:05 +02:00
2010-06-03 03:18:23 -07:00
2010-05-14 00:19:28 -07:00
2010-09-02 19:06:22 -07:00
2010-06-11 13:32:31 -07:00
2009-09-01 01:14:07 -07:00
2009-09-01 01:14:07 -07:00
2009-09-01 01:14:07 -07:00
2010-07-19 15:27:13 -07:00
2010-05-18 23:01:55 -07:00
2010-07-11 18:15:08 -07:00
2010-09-02 19:06:22 -07:00
2010-04-01 18:38:33 -07:00
2010-08-21 23:09:36 -07:00
2010-08-21 23:09:36 -07:00
2010-05-14 00:19:28 -07:00
2010-05-18 23:01:55 -07:00
2009-12-04 15:39:55 +01:00
2010-07-11 18:15:08 -07:00
2010-05-10 05:01:31 -07:00
2010-08-25 15:35:43 -07:00
2010-08-05 08:53:20 -07:00
2010-04-07 02:07:49 -07:00
2010-07-08 23:42:40 -07:00
2010-09-02 19:06:22 -07:00
2009-06-15 03:02:23 -07:00
2010-08-25 15:35:43 -07:00
2010-08-24 12:24:07 -07:00
2010-08-19 00:08:30 -07:00
2010-06-15 15:04:10 -07:00
2010-08-17 02:31:15 -07:00
2010-09-02 19:06:22 -07:00
2010-07-19 20:30:06 -07:00
2010-09-02 19:06:22 -07:00
2010-07-14 12:18:31 -07:00
2010-02-26 02:10:14 -08:00
2010-06-25 20:37:21 -07:00
2010-08-17 17:45:14 -07:00
2010-06-25 20:37:19 -07:00
2010-09-02 19:06:22 -07:00
2010-07-19 13:32:57 -07:00
2010-07-14 13:40:36 -07:00
2010-08-04 16:18:03 -07:00
2010-05-10 05:01:31 -07:00
2010-05-10 05:01:31 -07:00
2010-08-25 15:35:43 -07:00
2010-04-03 14:22:15 -07:00
2010-07-12 20:21:40 -07:00
2010-08-25 15:35:43 -07:00
2010-01-07 23:54:26 -08:00
2010-09-02 19:06:22 -07:00
2009-11-11 19:22:21 -08:00
2010-07-30 23:27:58 -07:00
2009-09-01 01:13:40 -07:00
2010-08-08 20:02:45 -07:00
2010-05-14 00:19:28 -07:00
2010-08-16 21:06:26 -07:00
2010-05-14 00:19:28 -07:00
2010-05-10 05:01:31 -07:00
2010-08-25 15:35:43 -07:00
2010-05-17 22:47:34 -07:00
2010-05-14 00:19:28 -07:00
2010-07-14 17:57:19 -07:00
2010-08-24 12:23:01 -07:00
2010-05-14 00:19:28 -07:00
2010-08-25 15:35:43 -07:00
2010-08-06 09:25:50 -06:00
2010-08-17 02:31:15 -07:00
2010-07-22 14:14:46 -07:00
2010-05-24 00:36:13 -07:00
2010-08-25 15:35:43 -07:00
2010-08-06 09:25:50 -06:00
2010-06-03 03:18:23 -07:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-09-02 19:06:22 -07:00
2010-08-06 09:25:50 -06:00
2010-09-02 19:06:22 -07:00
2010-08-06 09:25:50 -06:00
2010-08-25 15:35:43 -07:00
2010-08-04 15:31:02 -07:00
2010-05-14 00:19:28 -07:00
2010-08-25 15:35:43 -07:00
2010-03-30 22:02:32 +09:00
2010-08-30 13:50:45 -07:00
2010-09-02 19:06:22 -07:00
2010-09-06 18:21:56 -07:00
2010-09-06 18:21:56 -07:00
2010-05-10 05:01:31 -07:00
2010-08-25 15:35:43 -07:00
2010-09-02 19:06:22 -07:00
2010-03-30 23:42:26 -07:00
2010-09-02 19:06:22 -07:00
2010-07-12 20:21:44 -07:00
2010-09-06 18:29:19 -07:00
2010-09-06 18:29:19 -07:00
2010-08-23 20:24:12 -07:00
2010-06-02 06:12:19 -07:00
2010-07-27 22:24:37 -07:00
2010-04-11 14:53:53 -07:00
2010-05-05 21:27:45 -07:00
2010-05-05 21:27:44 -07:00
2010-08-04 15:31:02 -07:00
2010-07-05 19:41:16 -07:00
2010-03-30 22:02:32 +09:00
2010-05-14 00:19:28 -07:00
2010-06-21 13:50:18 -07:00
2010-09-02 19:06:22 -07:00
2010-03-30 22:02:32 +09:00
2010-05-26 20:44:30 -07:00
2010-05-14 00:19:28 -07:00
2010-07-07 14:58:56 -07:00
2010-05-10 05:01:31 -07:00
2010-07-05 19:41:18 -07:00
2010-08-25 15:35:43 -07:00
2010-09-02 19:06:22 -07:00
2010-06-02 17:50:38 +10:00
2010-05-10 05:01:31 -07:00
2010-07-12 20:21:44 -07:00
2010-07-27 21:02:42 -07:00
2010-08-16 21:06:25 -07:00
2010-08-23 20:24:12 -07:00
2009-10-12 23:59:08 -07:00
2010-05-14 00:19:28 -07:00
2009-09-03 20:02:11 -07:00
2010-06-21 13:40:25 -07:00
2010-07-23 13:05:12 -07:00
2010-03-30 22:02:32 +09:00
2010-08-06 09:25:50 -06:00
2010-08-06 09:25:50 -06:00
2010-08-25 15:35:43 -07:00
2010-05-14 00:19:28 -07:00
2010-05-14 00:19:28 -07:00
2010-05-14 00:19:28 -07:00
2010-05-14 00:19:28 -07:00
2010-07-05 20:08:05 -07:00
2010-05-06 00:47:21 -07:00
2010-05-10 05:01:31 -07:00
2010-07-05 19:41:19 -07:00
2010-05-10 05:01:31 -07:00
2010-05-14 00:19:28 -07:00
2010-09-02 19:06:22 -07:00
2010-06-28 12:41:33 -07:00
2010-09-06 18:15:37 -07:00
2010-08-17 02:31:15 -07:00
2010-09-02 19:06:22 -07:00
2009-04-27 02:53:49 -07:00
2010-08-25 15:35:43 -07:00
2010-05-14 00:19:28 -07:00
2010-08-25 16:36:48 -07:00
2010-08-04 21:53:17 -07:00
2009-12-03 13:18:01 -08:00
2010-07-12 20:21:47 -07:00
2009-12-03 13:18:01 -08:00
2010-08-04 21:53:17 -07:00
2010-08-04 21:53:17 -07:00
2010-03-30 22:02:32 +09:00
2010-08-21 23:05:39 -07:00
2010-09-02 19:06:22 -07:00
2009-12-02 00:52:31 -08:00
2010-05-20 21:04:44 -07:00
2010-06-03 03:18:23 -07:00
2010-09-02 09:19:32 -07:00
2010-09-02 19:06:22 -07:00
2010-04-13 02:54:17 -07:00
2010-08-25 16:41:27 -07:00
2010-09-07 13:47:30 -07:00
2010-03-30 22:02:32 +09:00
2010-08-25 15:35:43 -07:00
2009-09-01 01:14:07 -07:00
2010-07-15 20:46:22 -07:00
2010-09-02 19:06:22 -07:00
2010-08-25 16:41:26 -07:00
2010-05-10 05:01:31 -07:00
2010-05-14 00:19:28 -07:00
2010-09-02 19:06:22 -07:00
2010-08-17 02:31:15 -07:00
2010-05-14 00:19:28 -07:00
2010-05-10 05:01:31 -07:00
2010-09-02 19:06:22 -07:00
2009-10-13 03:44:05 -07:00
2010-04-11 14:53:53 -07:00
2010-08-25 15:35:43 -07:00
2010-09-01 10:57:55 -07:00
2010-05-15 23:29:31 -07:00
2010-07-30 23:59:04 -07:00
2010-06-03 03:18:23 -07:00
2010-05-14 00:19:28 -07:00
2010-08-27 19:25:59 -07:00
2010-08-27 19:25:59 -07:00
2010-05-10 05:01:31 -07:00
2010-07-26 09:06:04 -04:00
2010-05-10 05:01:31 -07:00
2010-02-15 09:27:02 -08:00
2010-05-14 00:19:28 -07:00
2010-05-14 00:19:28 -07:00
2010-05-14 00:19:28 -07:00
2010-05-14 00:19:28 -07:00
2010-09-02 19:06:22 -07:00
2009-12-04 15:39:55 +01:00
2010-07-18 19:15:25 -07:00
2010-03-30 22:02:32 +09:00
2010-05-10 05:01:31 -07:00
2010-07-14 12:17:35 -07:00
2010-09-02 19:06:22 -07:00
2010-09-01 19:19:54 -07:00
2010-05-14 00:19:28 -07:00
2010-07-05 19:41:11 -07:00
2010-05-10 05:01:31 -07:00
2010-08-25 15:35:43 -07:00
2010-08-06 09:25:50 -06:00
2010-08-25 15:35:43 -07:00
2010-08-19 00:04:33 -07:00
2010-08-19 00:04:33 -07:00
2009-12-03 13:18:01 -08:00
2010-08-25 15:35:43 -07:00
2010-08-06 09:25:50 -06:00
2010-08-25 15:35:43 -07:00
2010-08-06 09:25:50 -06:00
2010-08-06 09:25:50 -06:00
2010-08-19 00:04:34 -07:00
2010-07-18 19:15:25 -07:00
2010-09-02 19:06:22 -07:00
2010-08-19 17:19:05 -07:00
2010-09-02 19:06:22 -07:00
2010-08-02 15:46:33 -07:00
2010-08-25 15:35:43 -07:00
2010-01-13 20:37:01 -08:00
2010-04-14 16:11:33 -07:00
2010-07-30 22:06:41 -07:00
2010-09-02 19:06:22 -07:00
2010-06-03 03:18:23 -07:00
2010-03-30 22:02:32 +09:00
2010-08-06 09:25:50 -06:00
2010-06-03 03:18:23 -07:00
2010-05-06 00:53:53 -07:00
2010-05-10 05:01:31 -07:00
2010-09-02 19:06:22 -07:00
2010-06-03 03:18:23 -07:00
2010-08-17 02:31:15 -07:00
2010-08-25 15:35:43 -07:00
2010-08-22 21:42:55 -07:00
2010-09-02 19:06:22 -07:00
2010-07-12 20:21:45 -07:00
2010-08-25 15:35:43 -07:00
2010-05-14 00:19:28 -07:00
2010-05-18 23:01:55 -07:00