Re: [PATCH v2 01/14] net: ionic: Create an auxiliary device for rdma driver

Simon Horman
2025-05-09T20:30:26Z

On Thu, May 08, 2025 at 10:29:44AM +0530, Abhijit Gangurde wrote:
> To support RDMA capable ethernet device, create an auxiliary device in
> the ionic Ethernet driver. The RDMA device is modeled as an auxiliary
> device to the Ethernet device.
>
> Reviewed-by: Shannon Nelson <shannon.nelson@amd.com>
> Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com>

...

> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_aux.c b/drivers/net/ethernet/pensando/ionic/ionic_aux.c
> new file mode 100644
> index 000000000000..ba29c456de00
> --- /dev/null
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_aux.c
> @@ -0,0 +1,95 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/* Copyright (C) 2018-2025, Advanced Micro Devices, Inc. */
> +
> +#include <linux/kernel.h>
> +#include "ionic.h"
> +#include "ionic_lif.h"
> +#include "ionic_aux.h"
> +
> +static DEFINE_IDA(aux_ida);
> +
> +static void ionic_auxbus_release(struct device *dev)
> +{
> + struct ionic_aux_dev *ionic_adev;
> +
> + ionic_adev = container_of(dev, struct ionic_aux_dev, adev.dev);
> + kfree(ionic_adev);
> +}
> +
> +int ionic_auxbus_register(struct ionic_lif *lif)
> +{
> + struct ionic_aux_dev *ionic_adev;
> + struct auxiliary_device *aux_dev;
> + int err, id;
> +
> + if (!(lif->ionic->ident.lif.capabilities & IONIC_LIF_CAP_RDMA))

Hi Abhijit,

There is an endian mismatch here: .capabilities is a __le64,
whereas IONIC_LIF_CAP_RDMA is host byte order.

Flagged by Sparse

...