return retval;
 }
 
-static int wacom_set_report(struct hid_device *hdev, u8 type, u8 id,
-                           void *buf, size_t size, unsigned int retries)
+static int wacom_set_report(struct hid_device *hdev, u8 type, u8 *buf,
+                           size_t size, unsigned int retries)
 {
        int retval;
 
        do {
-               retval = hid_hw_raw_request(hdev, id, buf, size, type,
+               retval = hid_hw_raw_request(hdev, buf[0], buf, size, type,
                                HID_REQ_SET_REPORT);
        } while ((retval == -ETIMEDOUT || retval == -EPIPE) && --retries);
 
                rep_data[0] = report_id;
                rep_data[1] = mode;
 
-               error = wacom_set_report(hdev, HID_FEATURE_REPORT,
-                                        report_id, rep_data, length, 1);
+               error = wacom_set_report(hdev, HID_FEATURE_REPORT, rep_data,
+                                        length, 1);
                if (error >= 0)
                        error = wacom_get_report(hdev, HID_FEATURE_REPORT,
                                                 report_id, rep_data, length, 1);
        case GRAPHIRE_BT:
                rep_data[0] = 0x03;
                rep_data[1] = 0x00;
-               ret = wacom_set_report(hdev, HID_FEATURE_REPORT,
-                                       rep_data[0], rep_data, 2, 3);
+               ret = wacom_set_report(hdev, HID_FEATURE_REPORT, rep_data, 2,
+                                       3);
 
                if (ret >= 0) {
                        rep_data[0] = speed == 0 ? 0x05 : 0x06;
                        rep_data[1] = 0x00;
 
                        ret = wacom_set_report(hdev, HID_FEATURE_REPORT,
-                                               rep_data[0], rep_data, 2, 3);
+                                               rep_data, 2, 3);
 
                        if (ret >= 0) {
                                wacom->wacom_wac.bt_high_speed = speed;
                rep_data[0] = 0x03;
                rep_data[1] = wacom->wacom_wac.bt_features;
 
-               ret = wacom_set_report(hdev, HID_FEATURE_REPORT,
-                                       rep_data[0], rep_data, 2, 1);
+               ret = wacom_set_report(hdev, HID_FEATURE_REPORT, rep_data, 2,
+                                       1);
                if (ret >= 0)
                        wacom->wacom_wac.bt_high_speed = speed;
                break;
                buf[4] = wacom->led.img_lum;
        }
 
-       retval = wacom_set_report(wacom->hdev, HID_FEATURE_REPORT,
-                                 WAC_CMD_LED_CONTROL, buf, 9, WAC_CMD_RETRIES);
+       retval = wacom_set_report(wacom->hdev, HID_FEATURE_REPORT, buf, 9,
+                                 WAC_CMD_RETRIES);
        kfree(buf);
 
        return retval;
        /* Send 'start' command */
        buf[0] = WAC_CMD_ICON_START;
        buf[1] = 1;
-       retval = wacom_set_report(wacom->hdev, HID_FEATURE_REPORT,
-                                 WAC_CMD_ICON_START, buf, 2, WAC_CMD_RETRIES);
+       retval = wacom_set_report(wacom->hdev, HID_FEATURE_REPORT, buf, 2,
+                                 WAC_CMD_RETRIES);
        if (retval < 0)
                goto out;
 
                memcpy(buf + 3, img + i * chunk_len, chunk_len);
 
                retval = wacom_set_report(wacom->hdev, HID_FEATURE_REPORT,
-                                         xfer_id, buf, chunk_len + 3,
-                                         WAC_CMD_RETRIES);
+                                         buf, chunk_len + 3, WAC_CMD_RETRIES);
                if (retval < 0)
                        break;
        }
        /* Send 'stop' */
        buf[0] = WAC_CMD_ICON_START;
        buf[1] = 0;
-       wacom_set_report(wacom->hdev, HID_FEATURE_REPORT, WAC_CMD_ICON_START,
-                        buf, 2, WAC_CMD_RETRIES);
+       wacom_set_report(wacom->hdev, HID_FEATURE_REPORT, buf, 2,
+                        WAC_CMD_RETRIES);
 
 out:
        kfree(buf);