summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2025-05-07 19:48:39 +0800
committersakumisu <[email protected]>2025-05-07 19:48:39 +0800
commitbf2ba7324a42bc81f344808b920c6fece341f68e (patch)
treebe3342770ed21677b2d5aa1c154e9ae10148c8ef
parentcf22bcf252bb699ebee83ebb248091f161568f07 (diff)
update(class): replace ecm & rndis USB_ERR_NOTDEV with USB_ERR_NOTCONN
Signed-off-by: sakumisu <[email protected]>
-rw-r--r--class/cdc/usbd_cdc_ecm.c16
-rw-r--r--class/cdc/usbd_cdc_ecm.h2
-rw-r--r--class/wireless/usbd_rndis.c8
3 files changed, 18 insertions, 8 deletions
diff --git a/class/cdc/usbd_cdc_ecm.c b/class/cdc/usbd_cdc_ecm.c
index c5d463f7..2a4b7772 100644
--- a/class/cdc/usbd_cdc_ecm.c
+++ b/class/cdc/usbd_cdc_ecm.c
@@ -173,7 +173,7 @@ void cdc_ecm_int_in(uint8_t busid, uint8_t ep, uint32_t nbytes)
int usbd_cdc_ecm_start_write(uint8_t *buf, uint32_t len)
{
if (!usb_device_is_configured(0)) {
- return -USB_ERR_NODEV;
+ return -USB_ERR_NOTCONN;
}
if (g_cdc_ecm_tx_data_length > 0) {
@@ -189,7 +189,7 @@ int usbd_cdc_ecm_start_write(uint8_t *buf, uint32_t len)
int usbd_cdc_ecm_start_read(uint8_t *buf, uint32_t len)
{
if (!usb_device_is_configured(0)) {
- return -USB_ERR_NODEV;
+ return -USB_ERR_NOTCONN;
}
g_cdc_ecm_rx_data_length = 0;
@@ -222,6 +222,10 @@ int usbd_cdc_ecm_eth_tx(struct pbuf *p)
struct pbuf *q;
uint8_t *buffer;
+ if (!usb_device_is_configured(0)) {
+ return -USB_ERR_NOTCONN;
+ }
+
if (g_cdc_ecm_tx_data_length > 0) {
return -USB_ERR_BUSY;
}
@@ -261,8 +265,12 @@ struct usbd_interface *usbd_cdc_ecm_init_intf(struct usbd_interface *intf, const
return intf;
}
-void usbd_cdc_ecm_set_connect(bool connect, uint32_t speed[2])
+int usbd_cdc_ecm_set_connect(bool connect, uint32_t speed[2])
{
+ if (!usb_device_is_configured(0)) {
+ return -USB_ERR_NOTCONN;
+ }
+
if (connect) {
g_current_net_status = 2;
memcpy(g_connect_speed_table, speed, 8);
@@ -271,6 +279,8 @@ void usbd_cdc_ecm_set_connect(bool connect, uint32_t speed[2])
g_current_net_status = 1;
usbd_cdc_ecm_send_notify(CDC_ECM_NOTIFY_CODE_NETWORK_CONNECTION, CDC_ECM_NET_DISCONNECTED, NULL);
}
+
+ return 0;
}
__WEAK void usbd_cdc_ecm_data_recv_done(uint32_t len)
diff --git a/class/cdc/usbd_cdc_ecm.h b/class/cdc/usbd_cdc_ecm.h
index 3e0284e3..780e7e2b 100644
--- a/class/cdc/usbd_cdc_ecm.h
+++ b/class/cdc/usbd_cdc_ecm.h
@@ -15,7 +15,7 @@ extern "C" {
/* Init cdc ecm interface driver */
struct usbd_interface *usbd_cdc_ecm_init_intf(struct usbd_interface *intf, const uint8_t int_ep, const uint8_t out_ep, const uint8_t in_ep);
-void usbd_cdc_ecm_set_connect(bool connect, uint32_t speed[2]);
+int usbd_cdc_ecm_set_connect(bool connect, uint32_t speed[2]);
void usbd_cdc_ecm_data_recv_done(uint32_t len);
void usbd_cdc_ecm_data_send_done(uint32_t len);
diff --git a/class/wireless/usbd_rndis.c b/class/wireless/usbd_rndis.c
index a7be1214..2b93e479 100644
--- a/class/wireless/usbd_rndis.c
+++ b/class/wireless/usbd_rndis.c
@@ -515,7 +515,7 @@ void rndis_int_in(uint8_t busid, uint8_t ep, uint32_t nbytes)
int usbd_rndis_start_write(uint8_t *buf, uint32_t len)
{
if (!usb_device_is_configured(0)) {
- return -USB_ERR_NODEV;
+ return -USB_ERR_NOTCONN;
}
if (g_rndis_tx_data_length > 0) {
@@ -531,7 +531,7 @@ int usbd_rndis_start_write(uint8_t *buf, uint32_t len)
int usbd_rndis_start_read(uint8_t *buf, uint32_t len)
{
if (!usb_device_is_configured(0)) {
- return -USB_ERR_NODEV;
+ return -USB_ERR_NOTCONN;
}
g_rndis_rx_data_buffer = buf;
@@ -569,7 +569,7 @@ int usbd_rndis_eth_tx(struct pbuf *p)
uint8_t *buffer;
rndis_data_packet_t *hdr;
- if (g_usbd_rndis.link_status == NDIS_MEDIA_STATE_DISCONNECTED) {
+ if (!usb_device_is_configured(0)) {
return -USB_ERR_NOTCONN;
}
@@ -630,7 +630,7 @@ struct usbd_interface *usbd_rndis_init_intf(struct usbd_interface *intf,
int usbd_rndis_set_connect(bool connect)
{
if (!usb_device_is_configured(0)) {
- return -USB_ERR_NODEV;
+ return -USB_ERR_NOTCONN;
}
if(g_usbd_rndis.set_rsp_get)