From: Olaf Hering Limit the pci_alloc_consistent size to 128K PAGE_SIZE can be 64K, which leads to a 896K allocation. calculate_clipping_registers_rect() uses not more than 257 bytes because saa7146_video.c:s_fmt limits ov.nclips to 16 But bttv-driver.c does not allow up to 2048 clips in win->clipcount btcx_screen_clips() may add 4 more clips. So a max array size of 131329 is enough. Right now only 56K get allocated. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton --- include/media/saa7146_vv.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN include/media/saa7146_vv.h~fix-saa7146_clipping_mem-size include/media/saa7146_vv.h --- a/include/media/saa7146_vv.h~fix-saa7146_clipping_mem-size +++ a/include/media/saa7146_vv.h @@ -239,7 +239,8 @@ void saa7146_res_free(struct saa7146_fh #define SAA7146_HPS_SYNC_PORT_B 0x01 /* some memory sizes */ -#define SAA7146_CLIPPING_MEM (14*PAGE_SIZE) +/* see saa7146_hlp.c:calculate_clipping_registers_rect and bttv-driver.c:setup_window */ +#define SAA7146_CLIPPING_MEM ( ( ( 2048 + 4 ) * ( 2 * (2 * 16) ) ) + 1 ) /* some defines for the various clipping-modes */ #define SAA7146_CLIPPING_RECT 0x4 _