| Bug ID | 1239 |
|---|---|
| Summary | VMXNET 3 returned the wrong error code in initializing |
| Product | DPDK |
| Version | unspecified |
| Hardware | All |
| OS | All |
| Status | UNCONFIRMED |
| Severity | minor |
| Priority | Low |
| Component | ethdev |
| Assignee | dev@dpdk.org |
| Reporter | corezeng@gmail.com |
| Target Milestone | --- |
To call rte_eth_dev_start() to start a device, this function calls the function pointer (dev_start) that was registered by the specific device. rte_eth_dev_start() judges the integer returned from dev_start to continue or return an error. In the driver of VMXNET 3 the vmxnet3_dev_start is the function that needs to be registered as dev_start, and it called vmxnet3_dev_rxtx_init(). In vmxnet3_dev_rxtx_init(), a wrong error code may be thrown after it invokes vmxnet3_post_rx_bufs() because it negates the error code before returning it*. It causes rte_eth_dev_start() to give a positive number to the invoker, but it should be a negative number, as described in the comments. *: At vmxnet3_rxtx.c:1318