Message ID | 20210122030214.166334-1-suyanjun218@gmail.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v1] can: mcp251xfd: use regmap_bulk_write for compatibility | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Series ignored based on subject |
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
在 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 >
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
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;
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 <suyanjun218@gmail.com> --- drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)