[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1887a497-e7da-461d-a0bc-b98bd654e595@intel.com>
Date: Tue, 10 Dec 2024 13:03:35 -0800
From: Jacob Keller <jacob.e.keller@...el.com>
To: Shannon Nelson <shannon.nelson@....com>, <netdev@...r.kernel.org>,
<davem@...emloft.net>, <kuba@...nel.org>, <edumazet@...gle.com>,
<pabeni@...hat.com>, <andrew+netdev@...n.ch>
CC: <brett.creeley@....com>
Subject: Re: [PATCH net 3/3] ionic: use ee->offset when returning sprom data
On 12/10/2024 9:48 AM, Shannon Nelson wrote:
> Some calls into ionic_get_module_eeprom() don't use a single
> full buffer size, but instead multiple calls with an offset.
> Teach our driver to use the offset correctly so we can
> respond appropriately to the caller.
>
> Fixes: 4d03e00a2140 ("ionic: Add initial ethtool support")
> Signed-off-by: Shannon Nelson <shannon.nelson@....com>
> ---
> drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
> index dda22fa4448c..9b7f78b6cdb1 100644
> --- a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
> +++ b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
> @@ -961,8 +961,8 @@ static int ionic_get_module_eeprom(struct net_device *netdev,
> len = min_t(u32, sizeof(xcvr->sprom), ee->len);
>
> do {
> - memcpy(data, xcvr->sprom, len);
> - memcpy(tbuf, xcvr->sprom, len);
> + memcpy(data, &xcvr->sprom[ee->offset], len);
> + memcpy(tbuf, &xcvr->sprom[ee->offset], len);
>
Makes sense. The eeprom API doesn't require reading the entire EEPROM,
and can use offsets. Previously, you copied always from the beginning
which results in failure to copy the correct data out.
Reviewed-by: Jacob Keller <jacob.e.keller@...el.com>
> /* Let's make sure we got a consistent copy */
> if (!memcmp(data, tbuf, len))
Powered by blists - more mailing lists