James Bottomley
25e8bc02b4
3w-9xxx: fix iommu_iova leak
...
commit 96067723e46b0dd24ae7b934085ab4eff4d26a1b upstream.
Following reports on the list, it looks like the 3e-9xxx driver will leak dma
mappings every time we get a transient queueing error back from the card.
This is because it maps the sg list in the routine that sends the command, but
doesn't unmap again in the transient failure path (even though the command is
sent back to the block layer). Fix by unmapping before returning the status.
Reported-by: Chris Boot <bootc@bootc.net >
Tested-by: Chris Boot <bootc@bootc.net >
Acked-by: Adam Radford <aradford@gmail.com >
Signed-off-by: James Bottomley <JBottomley@Parallels.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de >
2011-10-03 11:41:09 -07:00
..
2011-05-26 13:19:00 -07:00
2011-05-10 10:16:21 +02:00
2011-03-31 11:26:23 -03:00
2011-05-24 13:08:39 -04:00
2011-05-01 16:32:23 -05:00
2011-03-31 11:26:23 -03:00
2011-05-23 09:12:26 -07:00
2011-05-24 12:38:02 -04:00
2011-10-03 11:41:05 -07:00
2011-05-24 12:41:10 -04:00
2011-10-03 11:41:08 -07:00
2011-05-20 13:29:52 -07:00
2011-03-31 11:26:23 -03:00
2011-10-03 11:40:48 -07:00
2011-03-31 11:26:23 -03:00
2011-06-29 12:08:39 -05:00
2011-10-03 11:41:01 -07:00
2011-10-03 11:40:48 -07:00
2011-08-04 21:58:34 -07:00
2011-10-03 11:41:00 -07:00
2011-05-24 12:36:06 -04:00
2011-10-03 11:40:49 -07:00
2011-05-01 12:08:03 -05:00
2011-01-24 12:06:31 -06:00
2011-05-24 13:28:35 -07:00
2011-04-26 10:22:59 +02:00
2011-10-03 11:40:24 -07:00
2011-05-27 19:52:57 -07:00
2011-03-31 11:26:23 -03:00
2011-10-03 11:41:09 -07:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2009-12-04 12:00:51 -06:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2010-12-22 18:57:02 +01:00
2010-05-26 19:51:08 +02:00
2010-05-26 19:51:07 +02:00
2010-05-26 19:51:08 +02:00
2010-05-26 19:51:07 +02:00
2010-05-26 19:51:09 +02:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2010-03-30 22:02:32 +09:00
2010-10-22 10:52:56 -07:00
2011-05-23 09:12:26 -07:00
2011-05-01 10:22:40 -05:00
2011-03-31 11:26:23 -03:00
2009-12-04 23:41:47 +01:00
2011-05-01 10:22:40 -05:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2011-05-01 10:22:40 -05:00
2011-05-01 10:22:40 -05:00
2011-05-23 09:12:26 -07:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2010-01-18 10:48:16 -06:00
2010-12-31 09:50:09 -06:00
2010-01-18 10:48:16 -06:00
2010-12-31 09:50:09 -06:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2010-05-26 19:51:08 +02:00
2010-10-22 19:36:42 -07:00
2011-05-17 11:07:01 +04:00
2011-10-03 11:40:24 -07:00
2011-08-04 21:58:36 -07:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2011-05-26 13:19:00 -07:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-05-24 12:37:50 -04:00
2011-05-01 12:10:34 -05:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2010-08-06 10:45:07 -05:00
2011-10-03 11:40:42 -07:00
2011-02-24 12:41:10 -05:00
2010-03-30 22:02:32 +09:00
2011-07-03 04:04:45 -07:00
2010-03-30 22:02:32 +09:00
2011-10-03 11:41:02 -07:00
2011-02-24 12:41:08 -05:00
2010-03-30 22:02:32 +09:00
2010-11-16 13:33:23 -08:00
2010-03-30 22:02:32 +09:00
2011-07-02 22:56:22 -07:00
2011-05-01 10:22:40 -05:00
2011-03-31 11:26:23 -03:00
2011-05-01 10:22:40 -05:00
2010-03-30 22:02:32 +09:00
2010-05-26 19:51:07 +02:00
2010-05-02 15:55:03 -04:00
2011-05-01 10:22:40 -05:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2011-05-10 10:16:21 +02:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-05-24 13:09:41 -04:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2011-08-04 21:58:36 -07:00
2011-05-26 13:19:00 -07:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2011-05-01 10:22:40 -05:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2011-05-18 12:32:23 -06:00
2010-08-06 09:25:50 -06:00
2010-03-03 21:17:06 +05:30
2011-03-31 11:26:23 -03:00
2011-08-04 21:58:35 -07:00
2011-05-24 12:51:53 -04:00
2009-12-04 12:01:33 -06:00
2009-12-04 12:01:30 -06:00
2011-08-04 21:58:36 -07:00
2011-03-31 11:26:23 -03:00
2010-07-28 09:07:50 -05:00
2011-03-17 17:54:40 -07:00
2011-05-28 23:12:11 -07:00
2010-02-08 17:15:19 -06:00
2011-06-02 18:34:43 +09:00
2011-06-02 18:34:43 +09:00
2010-10-22 10:52:56 -07:00
2011-05-01 10:20:10 -05:00
2011-05-24 12:38:36 -04:00
2011-05-20 13:29:52 -07:00
2011-03-23 11:35:58 -05:00
2011-03-10 08:52:07 +01:00
2010-03-30 22:02:32 +09:00
2010-11-16 13:33:23 -08:00
2010-03-30 22:02:32 +09:00
2010-10-15 15:49:20 +02:00
2011-05-24 12:43:52 -04:00
2011-03-14 18:37:34 -05:00
2011-08-04 21:58:35 -07:00
2010-10-24 13:41:39 -07:00
2011-04-06 06:19:38 -07:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-12-16 17:53:39 +01:00
2010-03-30 22:02:32 +09:00
2011-08-04 21:58:35 -07:00
2011-08-04 21:58:35 -07:00
2010-12-22 23:26:50 -06:00
2009-12-10 08:54:13 -06:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2010-08-07 18:17:56 +02:00
2010-08-07 18:17:56 +02:00
2010-11-16 13:33:23 -08:00
2010-03-30 22:02:32 +09:00
2011-02-28 01:36:39 -07:00
2011-03-31 11:26:23 -03:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2011-05-01 10:22:40 -05:00
2011-05-01 10:22:40 -05:00
2011-05-24 13:25:35 -04:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2009-12-04 12:00:49 -06:00
2011-05-26 13:19:00 -07:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2010-05-17 21:37:41 +02:00