2021-01-22 03:07:46

by knigh dark

[permalink] [raw]
Subject: [PATCH v1] can: mcp251xfd: use regmap_bulk_write for compatibility

Recently i use mcp2518fd on 4.x kernel which multiple write is not
backported, regmap_raw_write will cause old kernel crash because the
tx buffer in driver is smaller then 2K. Use regmap_bulk_write instead
for compatibility.

Signed-off-by: Su Yanjun <[email protected]>
---
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
index 3dde52669343..ab8aad0a7594 100644
--- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
+++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
@@ -932,6 +932,7 @@ static int mcp251xfd_chip_ecc_init(struct mcp251xfd_priv *priv)
void *ram;
u32 val = 0;
int err;
+ int val_bytes = regmap_get_val_bytes(priv->map_reg);

ecc->ecc_stat = 0;

@@ -947,8 +948,8 @@ static int mcp251xfd_chip_ecc_init(struct mcp251xfd_priv *priv)
if (!ram)
return -ENOMEM;

- err = regmap_raw_write(priv->map_reg, MCP251XFD_RAM_START, ram,
- MCP251XFD_RAM_SIZE);
+ err = regmap_bulk_write(priv->map_reg, MCP251XFD_RAM_START, ram,
+ MCP251XFD_RAM_SIZE / val_bytes);
kfree(ram);

return err;
--
2.25.1


2021-01-22 07:30:48

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH v1] can: mcp251xfd: use regmap_bulk_write for compatibility

On 1/22/21 4:02 AM, Su Yanjun wrote:
> Recently i use mcp2518fd on 4.x kernel which multiple write is not
> backported, regmap_raw_write will cause old kernel crash because the
> tx buffer in driver is smaller then 2K. Use regmap_bulk_write instead
> for compatibility.

Hmmm, this patch will never be backported to any 4.x kernel, as the driver is
not available on these kernels. You have to carry patches for these kernels
anyway, so I think I'll not take that patch. Sorry. Drop me a note if you are
interested in updating your kernel to a recent v5.11 kernel.

regards,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
signature.asc (499.00 B)
OpenPGP digital signature

2021-01-22 08:03:47

by knigh dark

[permalink] [raw]
Subject: Re: [PATCH v1] can: mcp251xfd: use regmap_bulk_write for compatibility


在 2021/1/22 下午3:26, Marc Kleine-Budde 写道:
> On 1/22/21 4:02 AM, Su Yanjun wrote:
>> Recently i use mcp2518fd on 4.x kernel which multiple write is not
>> backported, regmap_raw_write will cause old kernel crash because the
>> tx buffer in driver is smaller then 2K. Use regmap_bulk_write instead
>> for compatibility.
> Hmmm, this patch will never be backported to any 4.x kernel, as the driver is
> not available on these kernels. You have to carry patches for these kernels
> anyway, so I think I'll not take that patch. Sorry. Drop me a note if you are
> interested in updating your kernel to a recent v5.11 kernel.

I got it. I have already port it to 4.x kernel. I just want anyone
working on old kernels to use the driver more easier.

Thanks.

>
> regards,
> Marc
>

2021-01-22 08:20:02

by Marc Kleine-Budde

[permalink] [raw]
Subject: Re: [PATCH v1] can: mcp251xfd: use regmap_bulk_write for compatibility

On 1/22/21 8:59 AM, Su wrote:
>
> 在 2021/1/22 下午3:26, Marc Kleine-Budde 写道:
>> On 1/22/21 4:02 AM, Su Yanjun wrote:
>>> Recently i use mcp2518fd on 4.x kernel which multiple write is not
>>> backported, regmap_raw_write will cause old kernel crash because the
>>> tx buffer in driver is smaller then 2K. Use regmap_bulk_write instead
>>> for compatibility.
>> Hmmm, this patch will never be backported to any 4.x kernel, as the driver is
>> not available on these kernels. You have to carry patches for these kernels
>> anyway, so I think I'll not take that patch. Sorry. Drop me a note if you are
>> interested in updating your kernel to a recent v5.11 kernel.
>
> I got it. I have already port it to 4.x kernel. I just want anyone
> working on old kernels to use the driver more easier.

Ok, you can post a link yo your repo with the patches for the interested reader.

Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung West/Dortmund | Phone: +49-231-2826-924 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
signature.asc (499.00 B)
OpenPGP digital signature