From 3b13775d0581ef23f310065fe442fb1b5605ef31 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 24 Apr 2020 16:40:40 +0900 Subject: [PATCH] gadget: f_thor: Return proper error value for thor_init() After the commit 17679aed622b ("usb: thor: add screen support"), caller of thor_init() expects general error value to check interrupt by Ctrl-C but thor_init() returns wrong error value -1 for Ctrl-C termination during rx or wrong protocol response. Return proper error for the cases. Change-Id: I8a637918930673bad953a88e26c79b8e64580bc8 Signed-off-by: Seung-Woo Kim --- drivers/usb/gadget/f_thor.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c index a4e1293..30f764f 100644 --- a/drivers/usb/gadget/f_thor.c +++ b/drivers/usb/gadget/f_thor.c @@ -710,6 +710,7 @@ int thor_init(void) struct thor_dev *dev = thor_func->dev; int power_key_cnt = 0; size_t received; + int ret; #ifdef CONFIG_TIZEN #ifdef CONFIG_LCD /* TODO : Need to enable LCD*/ @@ -739,9 +740,10 @@ int thor_init(void) #endif thor_set_dma(thor_rx_data_buf, strlen("THOR")); /* detect the download request from Host PC */ - if (thor_rx_data(&received) < 0) { + ret = thor_rx_data(&received); + if (ret < 0) { printf("%s: Data not received!\n", __func__); - return -1; + return ret; } if (!strncmp((char *)thor_rx_data_buf, "THOR", strlen("THOR"))) { @@ -752,7 +754,7 @@ int thor_init(void) thor_tx_data(thor_tx_data_buf, strlen("ROHT")); } else { puts("Wrong reply information\n"); - return -1; + return -EPROTO; } return 0; -- 2.7.4