ioatdma: fix sed pool selection
authorDan Williams <dan.j.williams@intel.com>
Wed, 13 Nov 2013 18:15:42 +0000 (10:15 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 19:05:36 +0000 (11:05 -0800)
commit1bb87f93deb4958aecbd4d60b62f8426f297646b
tree60fc672baf93de6fba6f9c8250e51a6e938c76cb
parentb9c4b04c214848774fbbee4d946aa39ecb8f1010
ioatdma: fix sed pool selection

commit 5d48b9b5d80e3aa38a5161565398b1e48a650573 upstream.

The array to lookup the sed pool based on the number of sources
(pq16_idx_to_sedi) is 16 entries and expects a max source index.
However, we pass the total source count which runs off the end of the
array when src_cnt == 16.  The minimal fix is to just pass src_cnt-1,
but given we know the source count is > 8 we can just calculate the sed
pool by (src_cnt - 2) >> 3.

Cc: Dave Jiang <dave.jiang@intel.com>
Acked-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma/ioat/dma_v3.c