aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2017-06-15 10:48:35 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2017-06-16 10:29:00 +0900
commitb2b0eb7418691480cbc9a8da793be9a70f70a9b4 (patch)
treee3aecdbc3123dce1045f0936f89192318818140a
parent7798e620a6c2508c47d3bbb33dbaa04f87f62ddd (diff)
Fix MKL27Z USB.
-rw-r--r--ChangeLog4
-rw-r--r--mcu/usb-mkl27z.c8
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;