#define USB_DEVICE_ID_GYRATION_REMOTE_2 0x0003
 #define USB_DEVICE_ID_GYRATION_REMOTE_3 0x0008
 
+#define I2C_VENDOR_ID_HANTICK          0x0911
+#define I2C_PRODUCT_ID_HANTICK_5288    0x5288
+
 #define USB_VENDOR_ID_HANWANG          0x0b57
 #define USB_DEVICE_ID_HANWANG_TABLET_FIRST     0x5000
 #define USB_DEVICE_ID_HANWANG_TABLET_LAST      0x8fff
 
 
 /* quirks to control the device */
 #define I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV       BIT(0)
+#define I2C_HID_QUIRK_NO_IRQ_AFTER_RESET       BIT(1)
 
 /* flags */
 #define I2C_HID_STARTED                0
                I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV },
        { USB_VENDOR_ID_WEIDA, USB_DEVICE_ID_WEIDA_8755,
                I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV },
+       { I2C_VENDOR_ID_HANTICK, I2C_PRODUCT_ID_HANTICK_5288,
+               I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
        { 0, 0 }
 };
 
 
        ret = 0;
 
-       if (wait) {
+       if (wait && (ihid->quirks & I2C_HID_QUIRK_NO_IRQ_AFTER_RESET)) {
+               msleep(100);
+       } else if (wait) {
                i2c_hid_dbg(ihid, "%s: waiting...\n", __func__);
                if (!wait_event_timeout(ihid->wait,
                                !test_bit(I2C_HID_RESET_PENDING, &ihid->flags),