Commit 175f5a41 authored by Michal Suchanek's avatar Michal Suchanek Committed by Greg Kroah-Hartman

staging: fbtft: do not allocate huge txbuf

txbuflen can be set to arbitrary value by user and it is also set
automagically to the maximum transfer size of the SPI master controller.

Do not allocate the buffer when larger than vmem. When my SPI master
controller reports maximum transfer size 16M the probe of fbtft fails.
Signed-off-by: default avatarMichal Suchanek <hramrach@gmail.com>
Acked-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d2805d7f
...@@ -820,6 +820,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display, ...@@ -820,6 +820,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
/* Transmit buffer */ /* Transmit buffer */
if (txbuflen == -1) if (txbuflen == -1)
txbuflen = vmem_size + 2; /* add in case startbyte is used */ txbuflen = vmem_size + 2; /* add in case startbyte is used */
if (txbuflen >= vmem_size + 2)
txbuflen = 0;
#ifdef __LITTLE_ENDIAN #ifdef __LITTLE_ENDIAN
if ((!txbuflen) && (bpp > 8)) if ((!txbuflen) && (bpp > 8))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment