greybus: initialize all fields in an SVC handshake message
authorMatt Porter <mporter@linaro.org>
Mon, 22 Sep 2014 19:51:49 +0000 (15:51 -0400)
committerGreg Kroah-Hartman <greg@kroah.com>
Mon, 22 Sep 2014 20:23:05 +0000 (13:23 -0700)
Currently only the handshake_type is being initialized when
responding to an SVC handshake request. Update this to
explicitly set all header/payload fields appropriately.

Signed-off-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/staging/greybus/ap.c

index 21f2e33..78e9e4a 100644 (file)
@@ -93,6 +93,12 @@ static void svc_handshake(struct svc_function_handshake *handshake,
        if (!svc_msg)
                return;
 
+       svc_msg->header.function_id = SVC_FUNCTION_HANDSHAKE;
+       svc_msg->header.message_type = SVC_MSG_DATA;
+       svc_msg->header.payload_length =
+               cpu_to_le16(sizeof(struct svc_function_handshake));
+       svc_msg->handshake.version_major = GREYBUS_VERSION_MAJOR;
+       svc_msg->handshake.version_minor = GREYBUS_VERSION_MINOR;
        svc_msg->handshake.handshake_type = SVC_HANDSHAKE_AP_HELLO;
        svc_msg_send(svc_msg, hd);
 }