From patchwork Mon Jul 4 11:07:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Le Magourou X-Patchwork-Id: 9212263 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 43F0360572 for ; Mon, 4 Jul 2016 11:09:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 33F38286BE for ; Mon, 4 Jul 2016 11:09:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 28474286C3; Mon, 4 Jul 2016 11:09:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 96A7E286B2 for ; Mon, 4 Jul 2016 11:09:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932418AbcGDLJ3 (ORCPT ); Mon, 4 Jul 2016 07:09:29 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33541 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753261AbcGDLJ0 (ORCPT ); Mon, 4 Jul 2016 07:09:26 -0400 Received: by mail-wm0-f68.google.com with SMTP id r201so20822086wme.0 for ; Mon, 04 Jul 2016 04:09:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=zQIZ/UNXFv7TLJm/NbxY3u3EbA7ORZm9voKTxXfFBJ4=; b=luMl2W8j5ZoQpMvbecOvRGO4y93r93En+PaRFemMDpLsv1GVuhnMf8YnPIMU4ivI5R SqbZAM51wU9w1zECtHwuQlm9V+ZyW+G74Gnk3XqkXkWI8sEd1lNLpvWizad5ilb8N7zP x7q49h54B6roQJ8QnJrrdQ9GUFNkv7oBZMJ2IF1bT7ZHB4uND/BqSyJgr537N4nMUlWk 9eNOsOjHGZhVIzMU3UXZh4X/W4l1ks6fo3TnUuiPE3e8CqWPTTdpFyGT/FE8baWqAY7A FxENT7MQjTNCOuUdJPTaUu2IVqnvTtwRQ0N6LOJixz/q9m5PwpkBRqtMnFGc+RvpEhDp icjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=zQIZ/UNXFv7TLJm/NbxY3u3EbA7ORZm9voKTxXfFBJ4=; b=P3DSGXAfugulun730q/9m1Vk9n35OYBZscQz0tZbmAth9Mt7P31NfEWxnswLPZCvi+ JFAhv22YzdIxaO6nzt3q74rGId4lXv1qo1XpuKSOpcBSMde7TvmiNGLTySmDXwDQ0WMd rUDET/gICZ98BUp0k1AHhqu6WyS9vp7H8WwCmWfBnQ/HUExpWEkoxZ33rdEplnE1rDZn te/17vdqdq54HMZ/FomaydS+zspJ+miW0wieOsqcDgmqXYbgIbjmIs1mUMRcYh7u8nzm bd3OFL2MhRJQT/bGmjFyTIOZXVuer+fR4yxEt7jVxIB1CRKFR+ccwHwJjVNURrb+Z4rQ ZbwA== X-Gm-Message-State: ALyK8tIE+IiJaU4EA5GZyVXnK+KbL/v8JMeVFmrkde8iyWOeKHAg4Dtez9olqrPlcIin9A== X-Received: by 10.194.108.4 with SMTP id hg4mr11157563wjb.140.1467630564618; Mon, 04 Jul 2016 04:09:24 -0700 (PDT) Received: from lemagoup-desktop.aldebaran.lan ([195.190.86.18]) by smtp.gmail.com with ESMTPSA id t188sm3098759wma.8.2016.07.04.04.09.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Jul 2016 04:09:24 -0700 (PDT) From: lemagoup@gmail.com X-Google-Original-From: plemagourou@aldebaran.com To: kvalo@qca.qualcomm.com Cc: ath6kl@lists.infradead.org, linux-wireless@vger.kernel.org, jmassot@aldebaran.com, Pierre Le Magourou Subject: [PATCH v2 1/3] ath6kl: Fix WLAN tethering authentication problem. Date: Mon, 4 Jul 2016 13:07:17 +0200 Message-Id: <20160704110719.7694-2-plemagourou@aldebaran.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160704110719.7694-1-plemagourou@aldebaran.com> References: <20160704110719.7694-1-plemagourou@aldebaran.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Pierre Le Magourou When enabling WLAN tethering, a new AP is visible and a STA could connect to it. When the STA tries to authenticate to the newly created AP, the WPA authentication mechanism is stuck in the 1/4 msg of 4-Way Handshake. In ath6kl_rx(), the ath6kl_find_sta() function is looking for the h_source field of the Ethernet frame header received by the STA. The datap pointer that points to the Ethernet frame header is incorrect, and was pointing at the wrong offset in the buffer. This commit adds a pad_before_data_start offset to set the datap pointer to the Ethernet frame header. datap->h_source parameter is now really pointing to the source ethernet address and the authentication process can continue. Signed-off-by: Pierre Le Magourou --- drivers/net/wireless/ath/ath6kl/txrx.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/ath/ath6kl/txrx.c b/drivers/net/wireless/ath/ath6kl/txrx.c index 40432fe..9df41d5 100644 --- a/drivers/net/wireless/ath/ath6kl/txrx.c +++ b/drivers/net/wireless/ath/ath6kl/txrx.c @@ -1401,6 +1401,10 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet) return; } + pad_before_data_start = + (le16_to_cpu(dhdr->info3) >> WMI_DATA_HDR_PAD_BEFORE_DATA_SHIFT) + & WMI_DATA_HDR_PAD_BEFORE_DATA_MASK; + /* Get the Power save state of the STA */ if (vif->nw_type == AP_NETWORK) { meta_type = wmi_data_hdr_get_meta(dhdr); @@ -1408,7 +1412,7 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet) ps_state = !!((dhdr->info >> WMI_DATA_HDR_PS_SHIFT) & WMI_DATA_HDR_PS_MASK); - offset = sizeof(struct wmi_data_hdr); + offset = sizeof(struct wmi_data_hdr) + pad_before_data_start; trig_state = !!(le16_to_cpu(dhdr->info3) & WMI_DATA_HDR_TRIG); switch (meta_type) { @@ -1523,9 +1527,6 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet) seq_no = wmi_data_hdr_get_seqno(dhdr); meta_type = wmi_data_hdr_get_meta(dhdr); dot11_hdr = wmi_data_hdr_get_dot11(dhdr); - pad_before_data_start = - (le16_to_cpu(dhdr->info3) >> WMI_DATA_HDR_PAD_BEFORE_DATA_SHIFT) - & WMI_DATA_HDR_PAD_BEFORE_DATA_MASK; skb_pull(skb, sizeof(struct wmi_data_hdr));