summaryrefslogtreecommitdiffstats
path: root/src/mkii.c
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2014-11-18 23:24:55 +0100
committerPali Rohár <pali.rohar@gmail.com>2014-11-18 23:24:55 +0100
commit3dc90e643c6d19d0ef577db9ffaaf8fe995cd5b4 (patch)
tree20790286372186954a7e5804a34bebd4c6ffb7d7 /src/mkii.c
parent351bfbd055aae28cd545bf3513a80f266ce841a2 (diff)
download0xFFFF-3dc90e643c6d19d0ef577db9ffaaf8fe995cd5b4.tar.bz2
mkii: Implement device reboot
Diffstat (limited to 'src/mkii.c')
-rw-r--r--src/mkii.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mkii.c b/src/mkii.c
index e51943b..d345891 100644
--- a/src/mkii.c
+++ b/src/mkii.c
@@ -150,9 +150,20 @@ int mkii_flash_image(struct usb_device_info * dev, struct image * image) {
int mkii_reboot_device(struct usb_device_info * dev) {
- ERROR("Not implemented yet");
- (void)dev;
- return -1;
+ char buf[2048];
+ struct mkii_message * msg;
+ int ret;
+
+ msg = (struct mkii_message *)buf;
+
+ printf("Rebooting device...\n");
+
+ memcpy(msg->data, "reboot", sizeof("reboot")-1);
+ ret = mkii_send_receive(dev->udev, MKII_GET_DEVICE, msg, sizeof("reboot")-1, msg, sizeof(buf));
+ if ( ret != 1 || msg->data[0] != 0 )
+ return -1;
+
+ return 0;
}