diff options
author | Dmitry Filimonchuk <dmitrystu@gmail.com> | 2021-12-23 23:36:31 +0300 |
---|---|---|
committer | Dmitry Filimonchuk <dmitrystu@gmail.com> | 2021-12-23 23:36:31 +0300 |
commit | da829b9f6d68329d0ac3078d7e67d4cf450811c5 (patch) | |
tree | ad2fb02433b3a325e5e8e60393039103c55a43db | |
parent | c3bcfc9456ebd9b5fc6db8010a431fe8a94814cc (diff) |
fix some bugs in ASM drivers.
issue#105
-rw-r--r-- | src/usbd_stm32f103_devfs_asm.S | 13 | ||||
-rw-r--r-- | src/usbd_stm32l052_devfs_asm.S | 13 | ||||
-rw-r--r-- | src/usbd_stm32l100_devfs_asm.S | 15 |
3 files changed, 19 insertions, 22 deletions
diff --git a/src/usbd_stm32f103_devfs_asm.S b/src/usbd_stm32f103_devfs_asm.S index ee7bcf2..6481774 100644 --- a/src/usbd_stm32f103_devfs_asm.S +++ b/src/usbd_stm32f103_devfs_asm.S @@ -390,16 +390,15 @@ _ep_isstalled: lsls r2, r0, #28 lsrs r2, #26 ldr r1, [r1, r2] - lsls r1, #17 + lsls r1, #18 cmp r0, #0x80 - bhs .L_eis_check + blo .L_eis_check lsls r1, #8 .L_eis_check: - lsrs r1, r1, #28 - subs r1, #0x01 - subs r0, r1, #0x01 - sbcs r1, r1 - rsbs r0, r1, #0 + lsrs r0, r1, #30 + subs r0, #0x01 + subs r1, r0, #0x01 + sbcs r0, r0 bx lr .size _ep_isstalled, . - _ep_isstalled diff --git a/src/usbd_stm32l052_devfs_asm.S b/src/usbd_stm32l052_devfs_asm.S index 93b255c..1b3bcb0 100644 --- a/src/usbd_stm32l052_devfs_asm.S +++ b/src/usbd_stm32l052_devfs_asm.S @@ -363,16 +363,15 @@ _ep_isstalled: lsls r2, r0, #28 lsrs r2, #26 ldr r1, [r1, r2] - lsls r1, #17 + lsls r1, #18 cmp r0, #0x80 - bhs .L_eis_check + blo .L_eis_check lsls r1, #8 .L_eis_check: - lsrs r1, r1, #28 - subs r1, #0x01 - subs r0, r1, #0x01 - sbcs r1, r1 - rsbs r0, r1, #0 + lsrs r0, r1, #30 + subs r0, #0x01 + subs r1, r0, #0x01 + sbcs r0, r0 bx lr .size _ep_isstalled, . - _ep_isstalled diff --git a/src/usbd_stm32l100_devfs_asm.S b/src/usbd_stm32l100_devfs_asm.S index 5820a3d..333afad 100644 --- a/src/usbd_stm32l100_devfs_asm.S +++ b/src/usbd_stm32l100_devfs_asm.S @@ -326,16 +326,15 @@ _ep_isstalled: lsls r2, r0, #28 lsrs r2, #26 ldr r1, [r1, r2] - lsls r1, #17 + lsls r1, #18 cmp r0, #0x80 - bhs .L_eis_check + blo .L_eis_check lsls r1, #8 .L_eis_check: - lsrs r1, r1, #28 - subs r1, #0x01 - subs r0, r1, #0x01 - sbcs r1, r1 - rsbs r0, r1, #0 + lsrs r0, r1, #30 + subs r0, #0x01 + subs r1, r0, #0x01 + sbcs r0, r0 bx lr .size _ep_isstalled, . - _ep_isstalled @@ -683,7 +682,7 @@ _ep_deconfig: ldr r2, =USB_EPBASE ldr r3, =USB_PMABASE adds r2, r1 - lsls r1, #1 + lsls r1, #2 adds r3, r1 /* clearing endpoint register */ ldr r1, =EP_NOTOG |