> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
> @@ -934,7 +934,15 @@ static int cxgbe_get_regs(struct rte_eth_dev *eth_dev,
>       struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private);
>       struct adapter *adapter = pi->adapter;
>
> -     regs->length = cxgbe_get_regs_len(eth_dev);
> +     if (regs->data == NULL) {
> +             regs->length = cxgbe_get_regs_len(eth_dev);
> +             regs->width = sizeof(uint32_t);
> +             regs->version = CHELSIO_CHIP_VERSION(adapter->params.chip) |
> +                     (CHELSIO_CHIP_RELEASE(adapter->params.chip) << 10) |
> +                     (1 << 16);
> +             return 0;
> +     }
> +
>       regs->version = CHELSIO_CHIP_VERSION(adapter->params.chip) |
>                       (CHELSIO_CHIP_RELEASE(adapter->params.chip) << 10) |
>                       (1 << 16);

Code duplication..

Rest looks ok and passed a quick compile test. Might need to keep an eye 
out for other driver changes.

Reply via email to