Cypress Target update to support Manufacturing Test. (#11868)

Cypress Target update to support WiFi Manufacturing Test

Adding IOCTLS in WhdSTAInterface for MFG Test.
Fix WHD EMAC interface to release buffer when emac is not powered up or callback
is not registered.
pull/11913/head
Balaji Subramanyam 2019-11-21 01:12:35 -08:00 committed by Martin Kojtal
parent e638486be1
commit f51cc6494e
3 changed files with 34 additions and 1 deletions

View File

@ -571,6 +571,30 @@ int WhdSTAInterface::wifi_set_ioctl_value(uint32_t ioctl, uint32_t value)
return res;
}
int WhdSTAInterface::wifi_get_ioctl_value(uint32_t ioctl, uint32_t *value )
{
int res = WHD_SUCCESS;
_whd_emac.ifp->role = WHD_STA_ROLE;
res = whd_wifi_get_ioctl_value(_whd_emac.ifp, ioctl, value);
return res;
}
int WhdSTAInterface::wifi_get_ioctl_buffer(uint32_t ioctl, uint8_t *buffer, uint16_t len)
{
int res = WHD_SUCCESS;
_whd_emac.ifp->role = WHD_STA_ROLE;
res = whd_wifi_get_ioctl_buffer(_whd_emac.ifp, ioctl, buffer, len);
return res;
}
int WhdSTAInterface::wifi_set_ioctl_buffer(uint32_t ioctl, uint8_t *buffer, uint16_t len)
{
int res = WHD_SUCCESS;
_whd_emac.ifp->role = WHD_STA_ROLE;
res = whd_wifi_set_ioctl_buffer(_whd_emac.ifp, ioctl, buffer, len);
return res;
}
int WhdSTAInterface::wifi_get_ifp(whd_interface_t *ifp)
{
int res = WHD_SUCCESS;

View File

@ -191,6 +191,15 @@ public:
/* set ioctl value */
int wifi_set_ioctl_value(uint32_t ioctl, uint32_t value) ;
/* get ioctl value */
int wifi_get_ioctl_value(uint32_t ioctl, uint32_t *value);
/* get ioctl buffer */
int wifi_get_ioctl_buffer(uint32_t ioctl, uint8_t *buffer, uint16_t len);
/* set ioctl buffer */
int wifi_set_ioctl_buffer(uint32_t ioctl, uint8_t *buffer, uint16_t len);
/* get WHD ifp value */
int wifi_get_ifp(whd_interface_t *ifp);

View File

@ -253,7 +253,7 @@ extern "C"
WHD_EMAC &emac = WHD_EMAC::get_instance(ifp->role);
if (!emac.powered_up && !emac.emac_link_input_cb) {
if (!emac.powered_up || !emac.emac_link_input_cb) {
// ignore any trailing packets
whd_buffer_release(emac.drvp, buffer, WHD_NETWORK_RX);
return;