On Monday, 27. January 2014 19:46:13 Luis Ortega wrote: > A frame is a u8 array with the following structure: > [PAYLOAD_HEADER, PAYLOAD_LENGTH, ...PAYLOAD_BODY...] > > PAYLOAD_BODY can be at most 255 bytes long, as it's size is represented > by PAYLOAD_LENGTH. Therefore we can reduce the stack memory allocated to > payload_buffer[] roughly by half, from 512 to 257 bytes. Nice catch, thanks Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> on a bq Cervantes (imx6sl) Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> As a side-note, this change conflicts with one of my patches adding devicetree support to the driver [0], which Dmitry will hopefully also look at soon. So one of us might need to respin his series depending on the ordering. [0] http://permalink.gmane.org/gmane.linux.kernel.input/33587 > > Signed-off-by: Luis Ortega <luiorpe1@xxxxxx> > --- > drivers/input/touchscreen/zforce_ts.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/input/touchscreen/zforce_ts.c > b/drivers/input/touchscreen/zforce_ts.c index e082d5c..afb2492 100644 > --- a/drivers/input/touchscreen/zforce_ts.c > +++ b/drivers/input/touchscreen/zforce_ts.c > @@ -33,6 +33,7 @@ > #define WAIT_TIMEOUT msecs_to_jiffies(1000) > > #define FRAME_START 0xee > +#define FRAME_MAXSIZE 257 > > /* Offsets of the different parts of the payload the controller sends */ > #define PAYLOAD_HEADER 0 > @@ -475,7 +476,7 @@ static irqreturn_t zforce_irq_thread(int irq, void > *dev_id) struct i2c_client *client = ts->client; > const struct zforce_ts_platdata *pdata = dev_get_platdata(&client->dev); > int ret; > - u8 payload_buffer[512]; > + u8 payload_buffer[FRAME_MAXSIZE]; > u8 *payload; > > /* -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html