diff --git a/src/driver-gskill.c b/src/driver-gskill.c index 610f7041..ba664c02 100644 --- a/src/driver-gskill.c +++ b/src/driver-gskill.c @@ -571,8 +571,6 @@ gskill_do_write_profile(struct ratbag_device *device, uint8_t *buf = (uint8_t*)report; int rc; - report->checksum = gskill_calculate_checksum(buf, sizeof(*report)); - /* * The G.Skill configuration software doesn't take kindly to blank * profile names, so ensure we have one @@ -589,6 +587,8 @@ gskill_do_write_profile(struct ratbag_device *device, return rc; } + report->checksum = gskill_calculate_checksum(buf, sizeof(*report)); + rc = gskill_select_profile(device, report->profile_num, true); if (rc) return rc;