Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@linaro.org>
To: Shannon Nelson <shannon.nelson@amd.com>
Cc: jgg@nvidia.com, andrew.gospodarek@broadcom.com,
	aron.silverton@oracle.com, dan.j.williams@intel.com,
	daniel.vetter@ffwll.ch, dave.jiang@intel.com, dsahern@kernel.org,
	gregkh@linuxfoundation.org, hch@infradead.org,
	itayavr@nvidia.com, jiri@nvidia.com, Jonathan.Cameron@huawei.com,
	kuba@kernel.org, lbloch@nvidia.com, leonro@nvidia.com,
	linux-cxl@vger.kernel.org, linux-rdma@vger.kernel.org,
	netdev@vger.kernel.org, saeedm@nvidia.com, brett.creeley@amd.com
Subject: Re: [PATCH v4 5/6] pds_fwctl: add rpc and query support
Date: Fri, 21 Mar 2025 17:33:56 +0300	[thread overview]
Message-ID: <ac2b001d-68eb-46c4-ac38-5207161ff104@stanley.mountain> (raw)
In-Reply-To: <20250319213237.63463-6-shannon.nelson@amd.com>

On Wed, Mar 19, 2025 at 02:32:36PM -0700, Shannon Nelson wrote:
> +static struct pds_fwctl_query_data *pdsfc_get_endpoints(struct pdsfc_dev *pdsfc,
> +							dma_addr_t *pa)
> +{
> +	struct device *dev = &pdsfc->fwctl.dev;
> +	union pds_core_adminq_comp comp = {0};
> +	struct pds_fwctl_query_data *data;
> +	union pds_core_adminq_cmd cmd;
> +	dma_addr_t data_pa;
> +	int err;
> +
> +	data = dma_alloc_coherent(dev->parent, PAGE_SIZE, &data_pa, GFP_KERNEL);
> +	err = dma_mapping_error(dev, data_pa);
> +	if (err) {
> +		dev_err(dev, "Failed to map endpoint list\n");
> +		return ERR_PTR(err);
> +	}

This doesn't work.  The dma_alloc_coherent() function doesn't necessarily
initialize data_pa.  I don't know very much about DMA but can't we just
check:

	data = dma_alloc_coherent(dev->parent, PAGE_SIZE, &data_pa, GFP_KERNEL);
	if (!data)
		return ERR_PTR(-ENOMEM);

regards,
dan carpenter

> +
> +	cmd = (union pds_core_adminq_cmd) {
> +		.fwctl_query = {
> +			.opcode = PDS_FWCTL_CMD_QUERY,
> +			.entity = PDS_FWCTL_RPC_ROOT,
> +			.version = 0,
> +			.query_data_buf_len = cpu_to_le32(PAGE_SIZE),
> +			.query_data_buf_pa = cpu_to_le64(data_pa),
> +		}
> +	};
> +
> +	err = pds_client_adminq_cmd(pdsfc->padev, &cmd, sizeof(cmd), &comp, 0);
> +	if (err) {
> +		dev_err(dev, "Failed to send adminq cmd opcode: %u entity: %u err: %d\n",
> +			cmd.fwctl_query.opcode, cmd.fwctl_query.entity, err);
> +		dma_free_coherent(dev->parent, PAGE_SIZE, data, data_pa);
> +		return ERR_PTR(err);
> +	}
> +
> +	*pa = data_pa;
> +
> +	return data;
> +}


  reply	other threads:[~2025-03-21 14:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-19 21:32 [PATCH v4 0/6] pds_fwctl: fwctl for AMD/Pensando core devices Shannon Nelson
2025-03-19 21:32 ` [PATCH v4 1/6] pds_core: make pdsc_auxbus_dev_del() void Shannon Nelson
2025-03-19 21:32 ` [PATCH v4 2/6] pds_core: specify auxiliary_device to be created Shannon Nelson
2025-03-19 21:32 ` [PATCH v4 3/6] pds_core: add new fwctl auxiliary_device Shannon Nelson
2025-03-19 21:32 ` [PATCH v4 4/6] pds_fwctl: initial driver framework Shannon Nelson
2025-03-19 21:32 ` [PATCH v4 5/6] pds_fwctl: add rpc and query support Shannon Nelson
2025-03-21 14:33   ` Dan Carpenter [this message]
2025-03-21 16:59     ` Nelson, Shannon
2025-03-21 23:50       ` Jason Gunthorpe
2025-03-22  0:37         ` Nelson, Shannon
2025-03-19 21:32 ` [PATCH v4 6/6] pds_fwctl: add Documentation entries Shannon Nelson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ac2b001d-68eb-46c4-ac38-5207161ff104@stanley.mountain \
    --to=dan.carpenter@linaro.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=andrew.gospodarek@broadcom.com \
    --cc=aron.silverton@oracle.com \
    --cc=brett.creeley@amd.com \
    --cc=dan.j.williams@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dave.jiang@intel.com \
    --cc=dsahern@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@infradead.org \
    --cc=itayavr@nvidia.com \
    --cc=jgg@nvidia.com \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=lbloch@nvidia.com \
    --cc=leonro@nvidia.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=saeedm@nvidia.com \
    --cc=shannon.nelson@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox