Paul Zimmerman
cbc0238c26
xhci: Fix an error in count_sg_trbs_needed()
...
commit bcd2fde053 upstream.
The expression
while (running_total < sg_dma_len(sg))
does not take into account that the remaining data length can be less
than sg_dma_len(sg). In that case, running_total can end up being
greater than the total data length, so an extra TRB is counted.
Changing the expression to
while (running_total < sg_dma_len(sg) && running_total < temp)
fixes that.
This patch should be queued for stable kernels back to 2.6.31.
Signed-off-by: Paul Zimmerman <paulz@synopsys.com >
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de >
2011-03-02 09:47:07 -05:00
..
2009-10-14 14:54:43 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:29 -07:00
2009-07-12 15:16:39 -07:00
2007-05-23 20:14:15 -07:00
2011-02-17 15:36:47 -08:00
2010-07-05 11:10:37 -07:00
2009-07-12 15:16:39 -07:00
2010-05-12 14:56:59 -07:00
2009-07-28 14:31:10 -07:00
2011-02-17 15:36:47 -08:00
2010-09-20 13:17:46 -07:00
2009-07-12 15:16:39 -07:00
2010-01-25 10:49:32 -08:00
2011-02-17 15:36:42 -08:00
2009-09-23 06:46:20 -07:00
2011-02-17 15:36:42 -08:00
2009-06-15 21:44:43 -07:00
2009-03-24 16:38:23 -07:00
2009-01-27 16:15:38 -08:00
2009-01-27 16:15:38 -08:00
2009-01-27 16:15:38 -08:00
2009-07-12 15:16:36 -07:00
2009-01-27 16:15:38 -08:00
2009-01-27 16:15:38 -08:00
2009-06-15 21:44:44 -07:00
2009-03-24 16:20:36 -07:00
2009-03-24 16:20:30 -07:00
2009-10-09 13:52:07 -07:00
2009-10-09 13:52:07 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:31 -07:00
2009-09-23 06:46:29 -07:00
2009-06-15 21:44:43 -07:00
2009-09-23 06:46:34 -07:00
2011-03-02 09:46:36 -05:00
2010-05-12 14:57:02 -07:00
2008-08-21 10:26:38 -07:00
2007-10-12 14:54:59 -07:00
2009-07-28 14:31:09 -07:00
2011-03-02 09:46:36 -05:00
2010-03-15 08:49:56 -07:00
2008-08-21 10:26:38 -07:00
2009-01-07 09:59:52 -08:00
2008-08-21 10:26:38 -07:00
2009-06-16 14:17:32 +10:00
2009-09-24 21:22:33 +01:00
2009-11-17 16:46:33 -08:00
2009-03-24 16:20:45 -07:00
2008-08-21 10:26:38 -07:00
2008-08-21 10:26:38 -07:00
2008-08-21 10:26:38 -07:00
2008-08-21 10:26:38 -07:00
2009-01-07 09:59:52 -08:00
2011-03-02 09:46:36 -05:00
2009-09-23 06:46:32 -07:00
2009-03-24 16:20:33 -07:00
2011-03-02 09:46:36 -05:00
2006-04-14 11:12:20 -07:00
2010-04-01 15:58:36 -07:00
2009-07-23 13:04:10 +09:00
2008-08-29 09:43:14 +02:00
2009-09-23 06:46:16 -07:00
2008-07-25 10:53:29 -07:00
2008-08-21 10:26:38 -07:00
2009-03-24 16:20:36 -07:00
2010-03-15 08:50:08 -07:00
2009-03-24 16:20:33 -07:00
2010-01-25 10:49:33 -08:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:17 -07:00
2010-03-15 08:50:07 -07:00
2010-07-05 11:11:07 -07:00
2009-06-15 21:44:48 -07:00
2010-05-12 14:57:03 -07:00
2009-09-23 06:46:40 -07:00
2011-03-02 09:47:07 -05:00
2010-05-12 14:57:03 -07:00