summaryrefslogtreecommitdiff
path: root/class
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2022-02-23 17:48:47 +0800
committersakumisu <[email protected]>2022-02-24 12:28:51 +0800
commitdddd4e4c3c9523c67110ad2edbb73c3333780186 (patch)
tree9853c6316504f877b62cca245f049385318d94fb /class
parentc053a656bda0872c3e12fbcd6c10d62aac435372 (diff)
gdd memory align32 for variable in structure
Diffstat (limited to 'class')
-rw-r--r--class/cdc/usbd_cdc.c2
-rw-r--r--class/msc/usbd_msc.c22
2 files changed, 6 insertions, 18 deletions
diff --git a/class/cdc/usbd_cdc.c b/class/cdc/usbd_cdc.c
index 707e6ac0..11d709da 100644
--- a/class/cdc/usbd_cdc.c
+++ b/class/cdc/usbd_cdc.c
@@ -29,7 +29,7 @@ const char *parity_name[] = { "N", "O", "E", "M", "S" };
/* Device data structure */
struct cdc_acm_cfg_priv {
/* CDC ACM line coding properties. LE order */
- struct cdc_line_coding line_coding;
+ USB_MEM_ALIGN32 struct cdc_line_coding line_coding;
/* CDC ACM line state bitmap, DTE side */
uint8_t line_state;
/* CDC ACM serial state bitmap, DCE side */
diff --git a/class/msc/usbd_msc.c b/class/msc/usbd_msc.c
index 57781e4b..0da261d7 100644
--- a/class/msc/usbd_msc.c
+++ b/class/msc/usbd_msc.c
@@ -50,8 +50,8 @@ enum Stage {
struct usbd_msc_cfg_priv {
/* state of the bulk-only state machine */
enum Stage stage;
- struct CBW cbw;
- struct CSW csw;
+ USB_MEM_ALIGN32 struct CBW cbw;
+ USB_MEM_ALIGN32 struct CSW csw;
uint8_t sKey; /* Sense key */
uint8_t ASC; /* Additional Sense Code */
@@ -71,24 +71,12 @@ static bool memOK;
static void usbd_msc_reset(void)
{
- usbd_msc_cfg.stage = MSC_READ_CBW;
- usbd_msc_cfg.scsi_blk_addr = 0U;
- usbd_msc_cfg.scsi_blk_len = 0U;
- usbd_msc_cfg.max_lun = 0;
- usbd_msc_cfg.sKey = 0;
- usbd_msc_cfg.ASC = 0;
- usbd_msc_cfg.ASQ = 0;
-
- (void)memset((void *)&usbd_msc_cfg.cbw, 0, sizeof(struct CBW));
- (void)memset((void *)&usbd_msc_cfg.csw, 0, sizeof(struct CSW));
-
+ memset((uint8_t *)&usbd_msc_cfg, 0, sizeof(struct usbd_msc_cfg_priv));
usbd_msc_get_cap(0, &usbd_msc_cfg.scsi_blk_nbr, &usbd_msc_cfg.scsi_blk_size);
- if (usbd_msc_cfg.block_buffer) {
- free(usbd_msc_cfg.block_buffer);
+ if (usbd_msc_cfg.block_buffer == NULL) {
+ usbd_msc_cfg.block_buffer = usb_iomalloc(usbd_msc_cfg.scsi_blk_size * sizeof(uint8_t));
}
- usbd_msc_cfg.block_buffer = malloc(usbd_msc_cfg.scsi_blk_size * sizeof(uint8_t));
- memset(usbd_msc_cfg.block_buffer, 0, usbd_msc_cfg.scsi_blk_size * sizeof(uint8_t));
}
/**