You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ac...@apache.org on 2020/01/10 10:24:40 UTC

[incubator-nuttx] branch pr70 updated (237c0cc -> e76ec75)

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

acassis pushed a change to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from 237c0cc  CDC ECM Ethernet over USB High Speed for SAMA5D36-Xplained #68
     new b452506  drivers: usbdev: Descriptor type mismatch fix when dual speed is enabled
     new 3081ea8  drivers: usbdev: Flags comparison fix
     new 197f2f4  drivers: usbdev: Remove unnecessary reset logic
     new c497bd8  drivers: usbdev: Fix invalid/unsupported command processing
     new dbe3adc  drivers: usbdev: Fix string ID calculation
     new 3896830  drivers: usbdev: usbmsc full speed not available
     new e76ec75  drivers: usbdev: minor fix

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 drivers/usbdev/cdcacm.c         |  6 +++---
 drivers/usbdev/cdcacm.h         |  2 +-
 drivers/usbdev/cdcacm_desc.c    |  4 ++++
 drivers/usbdev/composite.c      |  4 ++--
 drivers/usbdev/composite_desc.c |  4 ++++
 drivers/usbdev/usbmsc.h         |  2 +-
 drivers/usbdev/usbmsc_desc.c    |  4 ++++
 drivers/usbdev/usbmsc_scsi.c    | 27 +++++++++------------------
 8 files changed, 28 insertions(+), 25 deletions(-)


[incubator-nuttx] 04/07: drivers: usbdev: Fix invalid/unsupported command processing

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit c497bd863a7ed2a6e37f25b7bc325a6d99d6b6b2
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:03:07 2020 +0900

    drivers: usbdev: Fix invalid/unsupported command processing
    
    Mass Storage Class shall stall when invalid or unsupported commands
    has been recieved.
---
 drivers/usbdev/usbmsc_scsi.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/usbdev/usbmsc_scsi.c b/drivers/usbdev/usbmsc_scsi.c
index a0d90d8..ce311e5 100644
--- a/drivers/usbdev/usbmsc_scsi.c
+++ b/drivers/usbdev/usbmsc_scsi.c
@@ -2009,11 +2009,9 @@ static int usbmsc_cmdparsestate(FAR struct usbmsc_dev_s *priv)
 
     default:
       priv->u.alloclen = 0;
-      if (ret == OK)
-        {
-          priv->lun->sd = SCSI_KCQIR_INVALIDCOMMAND;
-          ret = -EINVAL;
-        }
+      priv->residue = priv->cbwlen;
+      priv->lun->sd = SCSI_KCQIR_INVALIDCOMMAND;
+      ret = -EINVAL;
       break;
     }
 


[incubator-nuttx] 02/07: drivers: usbdev: Flags comparison fix

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 3081ea8ea94e48190b100bf4af8bcf65e69990cc
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:02:58 2020 +0900

    drivers: usbdev: Flags comparison fix
---
 drivers/usbdev/usbmsc_scsi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usbdev/usbmsc_scsi.c b/drivers/usbdev/usbmsc_scsi.c
index 267e56c..de3a925 100644
--- a/drivers/usbdev/usbmsc_scsi.c
+++ b/drivers/usbdev/usbmsc_scsi.c
@@ -1544,7 +1544,7 @@ static int inline usbmsc_setupcmd(FAR struct usbmsc_dev_s *priv,
       /* Clip to the length in the CBW and declare a phase error */
 
       usbtrace(TRACE_CLSERROR(USBMSC_TRACEERR_PHASEERROR1), priv->cdb[0]);
-      if ((flags & USBMSC_FLAGS_BLOCKXFR) != 0)
+      if ((flags & USBMSC_FLAGS_BLOCKXFR) == 0)
         {
           priv->u.alloclen = priv->cbwlen;
         }


[incubator-nuttx] 03/07: drivers: usbdev: Remove unnecessary reset logic

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 197f2f44edbc3f6da03d76204e43b22abffd32f3
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:03:05 2020 +0900

    drivers: usbdev: Remove unnecessary reset logic
---
 drivers/usbdev/usbmsc_scsi.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/usbdev/usbmsc_scsi.c b/drivers/usbdev/usbmsc_scsi.c
index de3a925..a0d90d8 100644
--- a/drivers/usbdev/usbmsc_scsi.c
+++ b/drivers/usbdev/usbmsc_scsi.c
@@ -2726,13 +2726,6 @@ int usbmsc_scsi_main(int argc, char *argv[])
       if ((eventset & (USBMSC_EVENT_DISCONNECT | USBMSC_EVENT_RESET | USBMSC_EVENT_CFGCHANGE |
                        USBMSC_EVENT_IFCHANGE | USBMSC_EVENT_ABORTBULKOUT)) != 0)
         {
-          /* These events require that the current configuration be reset */
-
-          if ((eventset & USBMSC_EVENT_IFCHANGE) != 0)
-            {
-              usbmsc_resetconfig(priv);
-            }
-
           /* These events require that a new configuration be established */
 
           if ((eventset & (USBMSC_EVENT_CFGCHANGE)) != 0)


[incubator-nuttx] 01/07: drivers: usbdev: Descriptor type mismatch fix when dual speed is enabled

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit b452506f3c9bc98472565ee4693e4c69b27c556d
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:02:45 2020 +0900

    drivers: usbdev: Descriptor type mismatch fix when dual speed is enabled
---
 drivers/usbdev/cdcacm.c         | 2 +-
 drivers/usbdev/cdcacm_desc.c    | 4 ++++
 drivers/usbdev/composite_desc.c | 4 ++++
 drivers/usbdev/usbmsc_desc.c    | 4 ++++
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/usbdev/cdcacm.c b/drivers/usbdev/cdcacm.c
index a373cc5..0db0456 100644
--- a/drivers/usbdev/cdcacm.c
+++ b/drivers/usbdev/cdcacm.c
@@ -1715,7 +1715,7 @@ static int cdcacm_setup(FAR struct usbdevclass_driver_s *driver,
                 {
 #ifdef CONFIG_USBDEV_DUALSPEED
                   ret = cdcacm_mkcfgdesc(ctrlreq->buf, &priv->devinfo,
-                                         dev->speed, ctrl->req);
+                                         dev->speed, ctrl->value[1]);
 #else
                   ret = cdcacm_mkcfgdesc(ctrlreq->buf, &priv->devinfo);
 #endif
diff --git a/drivers/usbdev/cdcacm_desc.c b/drivers/usbdev/cdcacm_desc.c
index 6e97a1d..1e12d55 100644
--- a/drivers/usbdev/cdcacm_desc.c
+++ b/drivers/usbdev/cdcacm_desc.c
@@ -388,7 +388,11 @@ int16_t cdcacm_mkcfgdesc(FAR uint8_t *buf,
 #endif
 
       dest->len         = USB_SIZEOF_CFGDESC;                /* Descriptor length */
+#ifdef CONFIG_USBDEV_DUALSPEED
+      dest->type        = type;                              /* Descriptor type */
+#else
       dest->type        = USB_DESC_TYPE_CONFIG;              /* Descriptor type */
+#endif
       dest->totallen[0] = LSBYTE(size);                      /* LS Total length */
       dest->totallen[1] = MSBYTE(size);                      /* MS Total length */
       dest->ninterfaces = CDCACM_NINTERFACES;                /* Number of interfaces */
diff --git a/drivers/usbdev/composite_desc.c b/drivers/usbdev/composite_desc.c
index 7ab23f1..af26fc2 100644
--- a/drivers/usbdev/composite_desc.c
+++ b/drivers/usbdev/composite_desc.c
@@ -222,7 +222,11 @@ int16_t composite_mkcfgdesc(FAR struct composite_dev_s *priv, FAR uint8_t *buf)
   /* Fill in the values directly into the buf */
 
   cfgdesc->len         = USB_SIZEOF_CFGDESC;               /* Descriptor length */
+#ifdef CONFIG_USBDEV_DUALSPEED
+  cfgdesc->type        = type;                             /* Descriptor type */
+#else
   cfgdesc->type        = USB_DESC_TYPE_CONFIG;             /* Descriptor type */
+#endif
   cfgdesc->totallen[0] = LSBYTE(priv->cfgdescsize);        /* Lower Byte of Total length */
   cfgdesc->totallen[1] = MSBYTE(priv->cfgdescsize);        /* High Byte of Total length */
   cfgdesc->ninterfaces = priv->ninterfaces;                /* Number of interfaces */
diff --git a/drivers/usbdev/usbmsc_desc.c b/drivers/usbdev/usbmsc_desc.c
index be2e10e..972f2f1 100644
--- a/drivers/usbdev/usbmsc_desc.c
+++ b/drivers/usbdev/usbmsc_desc.c
@@ -346,7 +346,11 @@ int16_t usbmsc_mkcfgdesc(uint8_t *buf,
     FAR struct usb_cfgdesc_s *dest = (FAR struct usb_cfgdesc_s *)buf;
 
     dest->len         = USB_SIZEOF_CFGDESC;               /* Descriptor length */
+#ifdef CONFIG_USBDEV_DUALSPEED
+    dest->type        = type;                             /* Descriptor type */
+#else
     dest->type        = USB_DESC_TYPE_CONFIG;             /* Descriptor type */
+#endif
     dest->totallen[0] = LSBYTE(SIZEOF_USBMSC_CFGDESC);    /* LS Total length */
     dest->totallen[1] = MSBYTE(SIZEOF_USBMSC_CFGDESC);    /* MS Total length */
     dest->ninterfaces = USBMSC_NINTERFACES;               /* Number of interfaces */


[incubator-nuttx] 06/07: drivers: usbdev: usbmsc full speed not available

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 3896830cfd8345b9a0da425309ddb57b888ec3ea
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:03:13 2020 +0900

    drivers: usbdev: usbmsc full speed not available
    
    Change transfer size to be based on maxpacket size.
---
 drivers/usbdev/usbmsc_scsi.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/usbdev/usbmsc_scsi.c b/drivers/usbdev/usbmsc_scsi.c
index ce311e5..4a8b99d 100644
--- a/drivers/usbdev/usbmsc_scsi.c
+++ b/drivers/usbdev/usbmsc_scsi.c
@@ -1750,7 +1750,7 @@ static int usbmsc_idlestate(FAR struct usbmsc_dev_s *priv)
       /* Return the read request to the bulk out endpoint for re-filling */
 
       req           = privreq->req;
-      req->len      = CONFIG_USBMSC_BULKOUTREQLEN;
+      req->len      = priv->epbulkout->maxpacket;
       req->priv     = privreq;
       req->callback = usbmsc_rdcomplete;
 
@@ -2177,7 +2177,7 @@ static int usbmsc_cmdreadstate(FAR struct usbmsc_dev_s *priv)
       src    = &priv->iobuffer[lun->sectorsize - priv->nsectbytes];
       dest   = &req->buf[priv->nreqbytes];
 
-      nbytes = MIN(CONFIG_USBMSC_BULKINREQLEN - priv->nreqbytes, priv->nsectbytes);
+      nbytes = MIN(priv->epbulkin->maxpacket - priv->nreqbytes, priv->nsectbytes);
 
       /* Copy the data from the sector buffer to the USB request and update counts */
 
@@ -2189,7 +2189,7 @@ static int usbmsc_cmdreadstate(FAR struct usbmsc_dev_s *priv)
        * then submit the request
        */
 
-      if (priv->nreqbytes >= CONFIG_USBMSC_BULKINREQLEN ||
+      if (priv->nreqbytes >= priv->epbulkin->maxpacket ||
           (priv->u.xfrlen <= 0 && priv->nsectbytes <= 0))
         {
           /* Remove the request that we just filled from wrreqlist (we've already checked
@@ -2347,7 +2347,7 @@ static int usbmsc_cmdwritestate(FAR struct usbmsc_dev_s *priv)
        * to get the next read request.
        */
 
-      req->len      = CONFIG_USBMSC_BULKOUTREQLEN;
+      req->len      = priv->epbulkout->maxpacket;
       req->priv     = privreq;
       req->callback = usbmsc_rdcomplete;
 
@@ -2359,7 +2359,7 @@ static int usbmsc_cmdwritestate(FAR struct usbmsc_dev_s *priv)
 
       /* Did the host decide to stop early? */
 
-      if (xfrd != CONFIG_USBMSC_BULKOUTREQLEN)
+      if (xfrd != priv->epbulkout->maxpacket)
         {
           priv->shortpacket = 1;
           goto errout;


[incubator-nuttx] 07/07: drivers: usbdev: minor fix

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit e76ec75102f84696a3cc01e3ad0455d37a5d7ed9
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:03:15 2020 +0900

    drivers: usbdev: minor fix
---
 drivers/usbdev/cdcacm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usbdev/cdcacm.c b/drivers/usbdev/cdcacm.c
index 0db0456..a6c537a 100644
--- a/drivers/usbdev/cdcacm.c
+++ b/drivers/usbdev/cdcacm.c
@@ -2990,7 +2990,7 @@ int cdcacm_classobject(int minor, FAR struct usbdev_devinfo_s *devinfo,
 
   /* Register the CDC/ACM TTY device */
 
-  sprintf(devname, CDCACM_DEVNAME_FORMAT, minor);
+  snprintf(devname, CDCACM_DEVNAME_SIZE, CDCACM_DEVNAME_FORMAT, minor);
   ret = uart_register(devname, &priv->serdev);
   if (ret < 0)
     {
@@ -3145,7 +3145,7 @@ void cdcacm_uninitialize(FAR void *handle)
 
   /* Un-register the CDC/ACM TTY device */
 
-  sprintf(devname, CDCACM_DEVNAME_FORMAT, priv->minor);
+  snprintf(devname, CDCACM_DEVNAME_SIZE, CDCACM_DEVNAME_FORMAT, priv->minor);
   ret = unregister_driver(devname);
   if (ret < 0)
     {


[incubator-nuttx] 05/07: drivers: usbdev: Fix string ID calculation

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acassis pushed a commit to branch pr70
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit dbe3adcb7e3f5ee183657e99282f80bc425d4e97
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Wed Jan 8 17:03:09 2020 +0900

    drivers: usbdev: Fix string ID calculation
    
    For *_STRBASE defines, it already unnecessary because composite device setup
    has been changed, it would be calculated by *_composite.c in board sources.
---
 drivers/usbdev/cdcacm.h    | 2 +-
 drivers/usbdev/composite.c | 4 ++--
 drivers/usbdev/usbmsc.h    | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/usbdev/cdcacm.h b/drivers/usbdev/cdcacm.h
index 2b151b4..c8932f5 100644
--- a/drivers/usbdev/cdcacm.h
+++ b/drivers/usbdev/cdcacm.h
@@ -61,7 +61,7 @@
 #endif
 
 #if defined(CONFIG_CDCACM_COMPOSITE) && !defined(CONFIG_CDCACM_STRBASE)
-#  define CONFIG_CDCACM_STRBASE    (4)
+#  define CONFIG_CDCACM_STRBASE    (0)
 #endif
 
 #if defined(CONFIG_CDCACM_COMPOSITE) && !defined(CONFIG_COMPOSITE_IAD)
diff --git a/drivers/usbdev/composite.c b/drivers/usbdev/composite.c
index 915700a..613e4fa 100644
--- a/drivers/usbdev/composite.c
+++ b/drivers/usbdev/composite.c
@@ -619,8 +619,8 @@ static int composite_setup(FAR struct usbdevclass_driver_s *driver,
 
                       for (i = 0; i < priv->ndevices; i++)
                         {
-                          if (strid >= priv->device[i].compdesc.devinfo.strbase &&
-                              strid <  priv->device[i].compdesc.devinfo.strbase +
+                          if (strid >  priv->device[i].compdesc.devinfo.strbase &&
+                              strid <= priv->device[i].compdesc.devinfo.strbase +
                                        priv->device[i].compdesc.devinfo.nstrings)
                             {
                               ret = priv->device[i].compdesc.mkstrdesc(strid -
diff --git a/drivers/usbdev/usbmsc.h b/drivers/usbdev/usbmsc.h
index 97149e9..3848b2a 100644
--- a/drivers/usbdev/usbmsc.h
+++ b/drivers/usbdev/usbmsc.h
@@ -69,7 +69,7 @@
 #endif
 
 #if defined(CONFIG_USBMSC_COMPOSITE) && !defined(CONFIG_USBMSC_STRBASE)
-#  define CONFIG_USBMSC_STRBASE (4)
+#  define CONFIG_USBMSC_STRBASE (0)
 #endif
 
 /* Interface IDs.  If the mass storage driver is built as a component of a