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