Hack: net: PPPoPNS and PPPoLAC build fixes for 4.1
authorAmit Pundir <amit.pundir@linaro.org>
Tue, 8 Dec 2015 12:58:40 +0000 (18:28 +0530)
committerJohn Stultz <john.stultz@linaro.org>
Tue, 16 Feb 2016 21:51:22 +0000 (13:51 -0800)
Upstream commit c0371da6047a "put iov_iter into msghdr",
added iov_iter and removed direct access to scatter/gather
array elements in msghdr. It broke PPPoLAC and PPPoPNS.

Lets restore the direct access to scatter/gather array in
msghdr for the time being. Otherwise we run into following
build failure:
----------
drivers/net/ppp/pppolac.c: In function ‘pppolac_xmit_core’:
drivers/net/ppp/pppolac.c:210:4: error: unknown field ‘msg_iov’ specified in initializer
    .msg_iov = (struct iovec *)&iov,
    ^
drivers/net/ppp/pppolac.c:211:4: error: unknown field ‘msg_iovlen’ specified in initializer
    .msg_iovlen = 1,
    ^
make[3]: *** [drivers/net/ppp/pppolac.o] Error 1
----------

Change-Id: I2a1245a156da6d93b49f5cfd10506381b0eff005
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
include/linux/socket.h

index 5bf59c8493b763c6dc11ccce18da9c0ac6c0da46..18a8337c895965ae0536aa45d31efb4cf57a1e97 100644 (file)
@@ -47,6 +47,10 @@ struct linger {
 struct msghdr {
        void            *msg_name;      /* ptr to socket address structure */
        int             msg_namelen;    /* size of socket address structure */
+#if defined(CONFIG_PPPOLAC) || defined(CONFIG_PPPOPNS)
+       struct iovec    *msg_iov;       /* scatter/gather array */
+       __kernel_size_t msg_iovlen;     /* # elements in msg_iov */
+#endif
        struct iov_iter msg_iter;       /* data */
        void            *msg_control;   /* ancillary data */
        __kernel_size_t msg_controllen; /* ancillary data buffer length */