aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/radeon/evergreen_cs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen_cs.c b/drivers/gpu/drm/radeon/evergreen_cs.c
index f7442e62c03f..8e8cd85e5c00 100644
--- a/drivers/gpu/drm/radeon/evergreen_cs.c
+++ b/drivers/gpu/drm/radeon/evergreen_cs.c
@@ -1793,10 +1793,12 @@ int evergreen_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib)
1793 ret = -EINVAL; 1793 ret = -EINVAL;
1794 break; 1794 break;
1795 case PACKET_TYPE2: 1795 case PACKET_TYPE2:
1796 idx += 1;
1796 break; 1797 break;
1797 case PACKET_TYPE3: 1798 case PACKET_TYPE3:
1798 pkt.opcode = CP_PACKET3_GET_OPCODE(ib->ptr[idx]); 1799 pkt.opcode = CP_PACKET3_GET_OPCODE(ib->ptr[idx]);
1799 ret = evergreen_vm_packet3_check(rdev, ib->ptr, &pkt); 1800 ret = evergreen_vm_packet3_check(rdev, ib->ptr, &pkt);
1801 idx += pkt.count + 2;
1800 break; 1802 break;
1801 default: 1803 default:
1802 dev_err(rdev->dev, "Unknown packet type %d !\n", pkt.type); 1804 dev_err(rdev->dev, "Unknown packet type %d !\n", pkt.type);
@@ -1805,7 +1807,6 @@ int evergreen_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib)
1805 } 1807 }
1806 if (ret) 1808 if (ret)
1807 break; 1809 break;
1808 idx += pkt.count + 2;
1809 } while (idx < ib->length_dw); 1810 } while (idx < ib->length_dw);
1810 1811
1811 return ret; 1812 return ret;