From patchwork Fri Jul 1 16:10:03 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: 9210139 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 D8B51607D8 for ; Fri, 1 Jul 2016 16:10:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CA8DF2867A for ; Fri, 1 Jul 2016 16:10:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BF5F22868E; Fri, 1 Jul 2016 16:10:55 +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 437942867A for ; Fri, 1 Jul 2016 16:10:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752216AbcGAQKy (ORCPT ); Fri, 1 Jul 2016 12:10:54 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:33903 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751938AbcGAQKw (ORCPT ); Fri, 1 Jul 2016 12:10:52 -0400 Received: by mail-wm0-f67.google.com with SMTP id 187so6344318wmz.1 for ; Fri, 01 Jul 2016 09:10:39 -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=B1gvH6NiGPJQ7asGqlx1t8/pdQpD8pmCaB9ilt2jcCM=; b=tpSF9kqcZNzw+OoSVaCJ8ECfT2Wdd+M5ULBM72iElewfvAoGkiRZ2ZM/l6gdscx9Df z7FZFBWReZ68SRViuGyStL7fECQdagukKwlbGJb71kt2q3FHhd0J9sGt/Z57OtDtBSii +90U4ok9s4eT2XFq1r1yG1W1idwhgcYAOJtYSV3JontNoc7AHTOY1+uemZDQg4x/yYTC CDq5VesFXCSpA2zq1hllsZPpSv3Q56kEO24jmmMZ4rHtJCpvdZbstXZIoyP3EqkSHUKz Qa059debn05TBvF1l0IFwYlnIcJTnEQb+Xhq9XFqWLEJENV6s+OzP7ER0cUWR4vnuvH3 vqDg== 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=B1gvH6NiGPJQ7asGqlx1t8/pdQpD8pmCaB9ilt2jcCM=; b=E5MRg1TaC2zHqaYp3vF1VMkXPHiAduVyGPg0pjMMejL1LjOzvkExerdFVJKAisl5rY 2/s/cY4xL4kA/MP1YL+xMevwhBYJmQBnfozIIvZI4tfs1pX5qMPfsoQgZG77hSm+zR+E JRjyEb+e5zlRJUrZH5pPIFkozXEZ8DfdUt/4U+NFp77qw3pVPBhXQc9BgTobgnHd5OYc tsHpeueoRZDZxjI/c8uGsGVaVS4x/TIhrU8qBCQYwBy0ghQCGoVtailViG2dyrWzQEJY WjiRVgxh9bXJ4saUNTUWg7rI0XXQqLhG14TomdXxW6IamdwkOToZ+OlqlgMTdpzEnWjS 3p4A== X-Gm-Message-State: ALyK8tI+OV5z2W2/3vqE6TR3CQYooo1scKtAveggfxF8BaRAZSEofuLb4+lDlX06+fmueg== X-Received: by 10.28.140.194 with SMTP id o185mr328772wmd.86.1467389438821; Fri, 01 Jul 2016 09:10:38 -0700 (PDT) Received: from lemagoup-desktop.aldebaran.lan ([195.190.86.18]) by smtp.gmail.com with ESMTPSA id q203sm409554wmd.24.2016.07.01.09.10.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 01 Jul 2016 09:10:38 -0700 (PDT) From: Pierre Le Magourou X-Google-Original-From: Pierre Le Magourou To: kvalo@qca.qualcomm.com Cc: ath6kl@lists.infradead.org, linux-wireless@vger.kernel.org, jmassot@aldebaran.com, Pierre Le Magourou Subject: [PATCH 1/3] ath6kl: Fix WLAN tethering authentication problem. Date: Fri, 1 Jul 2016 18:10:03 +0200 Message-Id: <20160701161005.30341-2-plemagourou@aldebaran.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160701161005.30341-1-plemagourou@aldebaran.com> References: <20160701161005.30341-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 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));