From: Oded Gabbay Date: Thu, 28 Feb 2019 08:46:14 +0000 (+0200) Subject: habanalabs: fix validation of WREG32 to DMA completion X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6765fda0f49df033f19aceb867678da7ca09f57a;p=linux.git habanalabs: fix validation of WREG32 to DMA completion This patch fix a bug in the validation of WREG32 in DMA queues. The validation was too strict. It allowed the user to set the completion address only for DMA channel 1. The fix allows the user to set the completion address for all 5 DMA channels. Signed-off-by: Oded Gabbay Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/habanalabs/goya/goya.c b/drivers/misc/habanalabs/goya/goya.c index 5444cd0824b44..6f0075c4e9357 100644 --- a/drivers/misc/habanalabs/goya/goya.c +++ b/drivers/misc/habanalabs/goya/goya.c @@ -3769,7 +3769,7 @@ static int goya_validate_wreg32(struct hl_device *hdev, dev_dbg(hdev->dev, "reg_offset == 0x%x\n", reg_offset); dev_dbg(hdev->dev, "value == 0x%x\n", wreg_pkt->value); - if (reg_offset != (mmDMA_CH_1_WR_COMP_ADDR_LO & 0xFFFF)) { + if (reg_offset != (mmDMA_CH_0_WR_COMP_ADDR_LO & 0x1FFF)) { dev_err(hdev->dev, "WREG32 packet with illegal address 0x%x\n", reg_offset); return -EPERM;