Re: [PATCH 07/12] net: ll_temac: Support indirect_mutex share within TEMAC IP

From: Andrew Lunn
Date: Mon Apr 29 2019 - 18:12:20 EST


> For OF devices, the xlnx,compound parent of the temac node should be
> used to find siblings, and setup a shared indirect_mutex between them.
> I will leave this work to somebody else, as I don't have hardware to
> test that. No regression is introduced by that, as before this commit
> using two Ethernet interfaces in same TEMAC block is simply broken.

Is that true?

> @@ -1092,7 +1092,16 @@ static int temac_probe(struct platform_device *pdev)
> lp->dev = &pdev->dev;
> lp->options = XTE_OPTION_DEFAULTS;
> spin_lock_init(&lp->rx_lock);
> - mutex_init(&lp->indirect_mutex);
> +
> + /* Setup mutex for synchronization of indirect register access */
> + if (pdata) {
> + if (!pdata->indirect_mutex) {
> + dev_err(&pdev->dev,
> + "indirect_mutex missing in platform_data\n");
> + return -EINVAL;
> + }
> + lp->indirect_mutex = pdata->indirect_mutex;
> + }

In the OF case, isn't lp->indirect_mutex now a NULL pointer, where as
before it was a valid mutex?

Or did i miss something somewhere?

Andrew