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 18:56:45 +0000 (10:56 -0800)
commitb8e15d48cdbbac38b5815b95dd99ac85a0b05edb
tree6b0665815da949640ef57af0f2789b6a33d4d669
parent4c52f001344510d1e26a33cfdf971a12338a63d9
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