greybus: loopback: fix invalid response size
authorAlexandre Bailon <abailon@baylibre.com>
Thu, 19 Nov 2015 11:44:46 +0000 (12:44 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 20 Nov 2015 00:02:41 +0000 (16:02 -0800)
The size of timestamps is not taken into account, which makes the
loopback driver in the firmware drop invalid packages.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/loopback.c

index 9a44dcc7d7d7e35c15d495f163e8c48ea94f3596..ec68247f5bdb99e056d23c71aa96d84c14cfcf2a 100644 (file)
@@ -534,8 +534,8 @@ static int gb_loopback_request_recv(u8 type, struct gb_operation *operation)
                }
 
                if (len) {
-                       if (!gb_operation_response_alloc(operation, len,
-                                                        GFP_KERNEL)) {
+                       if (!gb_operation_response_alloc(operation,
+                                       len + sizeof(*response), GFP_KERNEL)) {
                                dev_err(dev, "error allocating response\n");
                                return -ENOMEM;
                        }