This is an automated email from the ASF dual-hosted git repository.

lupyuen pushed a commit to branch releases/12.9
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/releases/12.9 by this push:
     new 1aa5918f7c arch/mpfs/usb: Align usb_ctrlreq_s properly to 32-bit 
boundary
1aa5918f7c is described below

commit 1aa5918f7cbaff7219c19629ce04bc5c45c80c23
Author: Jukka Laitinen <jukka.laiti...@tii.ae>
AuthorDate: Wed Apr 9 11:53:57 2025 +0300

    arch/mpfs/usb: Align usb_ctrlreq_s properly to 32-bit boundary
    
    The alignment of the ctrlreq was correct by luck, and was broken
    when the spinlock was added to the structure. In non-smp configurations
    spinlock_t is currently 8-bits, causing wrong alignment of the
    ctrlreq structure.
    
    Signed-off-by: Jukka Laitinen <jukka.laiti...@tii.ae>
---
 arch/risc-v/src/mpfs/hardware/mpfs_usb.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/risc-v/src/mpfs/hardware/mpfs_usb.h 
b/arch/risc-v/src/mpfs/hardware/mpfs_usb.h
index 153ea37a4f..00befd46cb 100644
--- a/arch/risc-v/src/mpfs/hardware/mpfs_usb.h
+++ b/arch/risc-v/src/mpfs/hardware/mpfs_usb.h
@@ -448,6 +448,7 @@ struct mpfs_usbdev_s
 
   /* USB-specific fields */
 
+  aligned_data(4)
   struct usb_ctrlreq_s ctrl;          /* Last EP0 request */
   uint8_t              devstate;      /* State of the device (see enum 
mpfs_devstate_e) */
   uint8_t              prevstate;     /* Previous state of the device before 
SUSPEND */

Reply via email to