From: Dan Williams Date: Fri, 22 Jul 2011 21:20:46 +0000 (-0700) Subject: ioat: fix xor_idx_to_desc X-Git-Tag: next-20110726~38^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=49514c79f4be85b5432dce60bb03f26de3671894;p=karo-tx-linux.git ioat: fix xor_idx_to_desc For versions of the device that implement operation-types 0x87, 0x88 (IOAT_OP_XOR, IOAT_OP_XOR_VAL) this map determines whether a given source is located in the base or extended descriptor. Source addresses 6 through 8 require an extended descriptor, hence 0xe0, not 0xd0. No shipping hardware currently implements these operation types. Reported-by: Evgueni Smogailov Signed-off-by: Dan Williams --- diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c index e1e052ac7fd4..000245e15225 100644 --- a/drivers/dma/ioat/dma_v3.c +++ b/drivers/dma/ioat/dma_v3.c @@ -73,7 +73,7 @@ /* provide a lookup table for setting the source address in the base or * extended descriptor of an xor or pq descriptor */ -static u8 xor_idx_to_desc __read_mostly = 0xd0; +static u8 xor_idx_to_desc __read_mostly = 0xe0; static u8 xor_idx_to_field[] __read_mostly = { 1, 4, 5, 6, 7, 0, 1, 2 }; static u8 pq_idx_to_desc __read_mostly = 0xf8; static u8 pq_idx_to_field[] __read_mostly = { 1, 4, 5, 0, 1, 2, 4, 5 };