From b2b0eb7418691480cbc9a8da793be9a70f70a9b4 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka <gniibe@fsij.org> Date: Thu, 15 Jun 2017 10:48:35 +0900 Subject: Fix MKL27Z USB. --- ChangeLog | 4 ++++ mcu/usb-mkl27z.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 23f5027..805c06f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2017-06-16 NIIBE Yutaka <gniibe@fsij.org> + + * mcu/usb-mkl27z.c (std_get_status): Use staic var, not auto. + 2017-05-18 NIIBE Yutaka <gniibe@fsij.org> * chopstx.c (chx_wakeup): Fix access to REG_R0. diff --git a/mcu/usb-mkl27z.c b/mcu/usb-mkl27z.c index 72cc175..f5e5b2b 100644 --- a/mcu/usb-mkl27z.c +++ b/mcu/usb-mkl27z.c @@ -445,7 +445,7 @@ handle_datastage_in (struct usb_dev *dev, uint8_t stat) { /* No more data to send, proceed to receive OUT acknowledge. */ dev->state = WAIT_STATUS_OUT; - kl27z_prepare_ep0_out (&dev->dev_req, 8, DATA1); + kl27z_prepare_ep0_out (&dev->dev_req, 0, DATA1); } return; @@ -470,12 +470,13 @@ std_none (struct usb_dev *dev) return -1; } +static uint16_t status_info; + static int std_get_status (struct usb_dev *dev) { struct device_req *arg = &dev->dev_req; uint8_t rcp = arg->type & RECIPIENT; - uint16_t status_info = 0; if (arg->value != 0 || arg->len != 2 || (arg->index >> 8) != 0 || USB_SETUP_SET (arg->type)) @@ -1000,8 +1001,7 @@ usb_lld_ctrl_send (struct usb_dev *dev, const void *buf, size_t buflen) dev->state = IN_DATA; } - if (len) - kl27z_prepare_ep0_in (data_p->addr, len, DATA1); + kl27z_prepare_ep0_in (data_p->addr, len, DATA1); data_p->len -= len; data_p->addr += len; -- cgit v1.2.3