OSDN Git Service

greybus: es1: fix buffer-size limit
authorJohan Hovold <johan@hovoldconsulting.com>
Tue, 7 Apr 2015 09:27:11 +0000 (11:27 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 7 Apr 2015 12:32:42 +0000 (14:32 +0200)
The maximum buffer size does not include the headroom, so subtract the
headroom size from the actual buffer size.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/es1.c

index f2c1cde..b9fd511 100644 (file)
@@ -132,7 +132,7 @@ static void hd_buffer_constraints(struct greybus_host_device *hd)
         * that's better aligned for the user.
         */
        hd->buffer_headroom = sizeof(u32);      /* For cport id */
-       hd->buffer_size_max = ES1_GBUF_MSG_SIZE_MAX;
+       hd->buffer_size_max = ES1_GBUF_MSG_SIZE_MAX - hd->buffer_headroom;
        BUILD_BUG_ON(hd->buffer_headroom > GB_BUFFER_HEADROOM_MAX);
 }