OSDN Git Service

staging:r8188eu: add iv length to frame data offset
authorIvan Safonov <insafonov@gmail.com>
Tue, 21 Mar 2017 09:00:33 +0000 (12:00 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Mar 2017 13:28:47 +0000 (14:28 +0100)
If this frame contains IV/ICV fields, ether_type field located a little farther.

This bug already fixed here:
https://github.com/lwfinger/rtl8188eu/blob/master/core/rtw_recv.c#L569 .

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8188eu/core/rtw_recv.c

index 556be8c..96526fe 100644 (file)
@@ -452,7 +452,7 @@ static struct recv_frame *portctrl(struct adapter *adapter,
 
        if (auth_alg == 2) {
                /* get ether_type */
-               ptr = ptr + pfhdr->attrib.hdrlen + LLC_HEADER_SIZE;
+               ptr = ptr + pfhdr->attrib.hdrlen + LLC_HEADER_SIZE + pfhdr->attrib.iv_len;
                memcpy(&be_tmp, ptr, 2);
                ether_type = ntohs(be_tmp);