media: cx18: struct i2c_client is too big for stack
authorMauro Carvalho Chehab <m.chehab@samsung.com>
Fri, 1 Nov 2013 16:09:47 +0000 (13:09 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 19:06:33 +0000 (11:06 -0800)
commit182c12850fdaf9fa01e41e220c3afc4a232fe259
treec75420ef3fc79df1a376470bfe10e8d9e262eab7
parent02b2645af91699858fbcfa8aa82d19713bfd5567
media: cx18: struct i2c_client is too big for stack

commit 1d212cf0c2d89adf3d0a6d62d729076f49f087dc upstream.

drivers/media/pci/cx18/cx18-driver.c: In function 'cx18_read_eeprom':
drivers/media/pci/cx18/cx18-driver.c:357:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
That happens because the routine allocates 256 bytes for an eeprom buffer, plus
the size of struct i2c_client, with is big.
Change the logic to dynamically allocate/deallocate space for struct i2c_client,
instead of  using the stack.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/pci/cx18/cx18-driver.c